Tima e i suoi $N$ amici adorano giocare a Bootfall. Bootfall è un gioco sportivo per $N + 1$ giocatori. Ogni giocatore ha una forza, che può essere rappresentata come un numero intero positivo. La partita è composta da $N + 1$ turni; in ogni turno uno dei giocatori riprenderà il turno in video e i restanti $N$ giocatori si divideranno in due squadre, in modo tale che ogni giocatore venga assegnato a una delle squadre ed entrambe le squadre siano non vuote. La forza di una squadra è la somma delle forze di tutti i giocatori della squadra. Inoltre, ogni giocatore farà da cameraman in esattamente un turno.
Un turno è detto pareggio se esiste una divisione in due squadre di uguale forza, e l'intera partita è detta amichevole se tutti i turni sono pareggio. Ciascuno degli $N$ amici ha già comunicato a Tima la propria forza, e ora Tima può assegnare a se stesso qualsiasi valore valido di forza.
Tima conosce le forze di tutti gli $N$ giocatori e sceglierà un valore tale che la partita possa essere amichevole. Aiutalo a trovare tutte le forze possibili.
Dati di input
La prima riga di input contiene un numero intero positivo $N$ ($1 \le N \le 500$) — il numero di amici di Tima. La seconda riga di input contiene $N$ numeri interi positivi $a_1, a_2, \ldots, a_N$ ($1 \le a_i \le 500$; $1 \le i \le N$) separati da spazi, dove $a_i$ è la forza della $i$-esima persona.
Dati di output
La prima riga di output deve contenere un numero intero $K$ — il numero di forze possibili per Tima. Se non esiste alcuna forza possibile per Tima, stampare soltanto “0” (senza virgolette); altrimenti, nella seconda riga di output stampare $K$ numeri interi positivi separati da spazi — tutti i possibili valori di forza per Tima in ordine crescente.
Subtask
Questo problema è composto da sei subtask:
- $1 \le N \le 12$, $1 \le a_i \le 200$, per ogni $1 \le i \le N$. Punteggio: 6 punti.
- $1 \le N \le 30$, $1 \le a_i \le 20$, per ogni $1 \le i \le N$. Punteggio: 7 punti.
- $1 \le N \le 100$, $1 \le a_i \le 100$, per ogni $1 \le i \le N$. Punteggio: 15 punti.
- $1 \le N \le 270$, $1 \le a_i \le 270$, per ogni $1 \le i \le N$. Punteggio: 16 punti.
- $1 \le N \le 350$, $1 \le a_i \le 350$, per ogni $1 \le i \le N$. Punteggio: 21 punti.
- $1 \le N \le 500$, $1 \le a_i \le 500$, per ogni $1 \le i \le N$. Punteggio: 35 punti.
Ogni subtask verrà valutato solo se la soluzione supera con successo tutti i subtask precedenti.
Esempi
Dati di input 1
4 1 3 1 5
Dati di output 1
1 3
Dati di input 2
6 3 5 7 11 9 13
Dati di output 2
4 1 3 17 19
Dati di input 3
3 2 2 2
Dati di output 3
0
Dati di input 4
4 200 200 200 200
Dati di output 4
2 200 600
Note
Note sul primo caso di esempio.
Mostriamo che se Tima sceglie la forza $3$, allora la partita può essere amichevole.
- Quando Tima riprende la partita, per rendere il turno un pareggio gli altri giocatori possono essere divisi come segue: $(1, 3, 1)$ nella prima squadra e $(5)$ nella seconda.
- Quando l'amico 1 riprende la partita, gli altri possono essere divisi come segue: $(1, 5)$ nella prima squadra, $(3, 3)$ nella seconda.
- Quando l'amico 2 riprende la partita, gli altri possono essere divisi come segue: $(1, 1, 3)$ nella prima squadra, $(5)$ nella seconda.
- Quando l'amico 3 riprende la partita, gli altri possono essere divisi come segue: $(3, 3)$ nella prima squadra, $(1, 5)$ nella seconda.
- Quando l'amico 4 riprende la partita, gli altri possono essere divisi come segue: $(1, 3)$ nella prima squadra, $(1, 3)$ nella seconda.
Se Tima sceglie una forza diversa da $3$, allora la partita non può essere amichevole.