A Tima y a sus $N$ amigos les encanta jugar al Bootfall. Bootfall es un juego deportivo para $N + 1$ jugadores. Cada jugador tiene una fuerza, que puede representarse como un número entero positivo. El juego consta de $N + 1$ rondas; en cada ronda uno de los jugadores grabará la ronda en vídeo y los $N$ jugadores restantes se dividirán en dos equipos, de modo que cada jugador sea asignado a uno de los equipos y ambos equipos sean no vacíos. La fuerza de un equipo es la suma de las fuerzas de todos los jugadores del equipo. Además, cada jugador será el encargado de grabar en exactamente una ronda.
Una ronda se llama empate si existe una división en dos equipos con igual fuerza, y todo el juego se llama amistoso si todas las rondas son empate. Cada uno de los $N$ amigos ya le ha informado a Tima sobre su fuerza, y ahora Tima puede asignarse a sí mismo cualquier valor válido de fuerza.
Tima conoce las fuerzas de todos los $N$ jugadores y elegirá algún valor de modo que el juego pueda ser amistoso. Ayúdalo a encontrar todas las fuerzas posibles.
Entrada
La primera línea de la entrada contiene un número entero positivo $N$ ($1 \le N \le 500$) — el número de amigos de Tima. La segunda línea de la entrada contiene $N$ números enteros positivos $a_1, a_2, \ldots, a_N$ ($1 \le a_i \le 500$; $1 \le i \le N$) separados por espacios, donde $a_i$ es la fuerza de la $i$-ésima persona.
Salida
La primera línea de la salida debe contener un número entero $K$ — el número de fuerzas posibles para Tima. Si no existe ninguna fuerza posible para Tima, imprima únicamente “0” (sin comillas); en caso contrario, en la segunda línea de la salida imprima $K$ números enteros positivos separados por espacios — todos los valores de fuerza posibles para Tima en orden creciente.
Subtareas
Este problema consta de seis subtareas:
- $1 \le N \le 12$, $1 \le a_i \le 200$, para todo $1 \le i \le N$. Puntuación: 6 puntos.
- $1 \le N \le 30$, $1 \le a_i \le 20$, para todo $1 \le i \le N$. Puntuación: 7 puntos.
- $1 \le N \le 100$, $1 \le a_i \le 100$, para todo $1 \le i \le N$. Puntuación: 15 puntos.
- $1 \le N \le 270$, $1 \le a_i \le 270$, para todo $1 \le i \le N$. Puntuación: 16 puntos.
- $1 \le N \le 350$, $1 \le a_i \le 350$, para todo $1 \le i \le N$. Puntuación: 21 puntos.
- $1 \le N \le 500$, $1 \le a_i \le 500$, para todo $1 \le i \le N$. Puntuación: 35 puntos.
Cada subtarea recibirá puntuación únicamente si la solución supera con éxito todas las subtareas anteriores.
Ejemplos
Entrada 1
4 1 3 1 5
Salida 1
1 3
Entrada 2
6 3 5 7 11 9 13
Salida 2
4 1 3 17 19
Entrada 3
3 2 2 2
Salida 3
0
Entrada 4
4 200 200 200 200
Salida 4
2 200 600
Nota
Notas sobre el primer caso de ejemplo.
Mostremos que si Tima selecciona la fuerza $3$, entonces el juego puede ser amistoso.
- Cuando Tima grabe el juego, para que la ronda sea empate, los demás jugadores pueden dividirse de la siguiente manera: $(1, 3, 1)$ en el primer equipo y $(5)$ en el segundo.
- Cuando el amigo 1 grabe el juego, los demás pueden dividirse de la siguiente manera: $(1, 5)$ en el primer equipo, $(3, 3)$ en el segundo.
- Cuando el amigo 2 grabe el juego, los demás pueden dividirse de la siguiente manera: $(1, 1, 3)$ en el primer equipo, $(5)$ en el segundo.
- Cuando el amigo 3 grabe el juego, los demás pueden dividirse de la siguiente manera: $(3, 3)$ en el primer equipo, $(1, 5)$ en el segundo.
- Cuando el amigo 4 grabe el juego, los demás pueden dividirse de la siguiente manera: $(1, 3)$ en el primer equipo, $(1, 3)$ en el segundo.
Si Tima selecciona una fuerza distinta de $3$, entonces el juego no puede ser amistoso.