Somma di monete

Data una serie di n monete di un certo valore, l’obiettivo è determinare tutte le somme che si possono ottenere utilizzandole.

Input

La prima riga dell’input contiene un singolo intero n (1 ≤ n ≤ 100).
La riga successiva contiene n interi separati da spazio, (1 ≤ ≤ 1000), che rappresentano i valori delle monete.

Output

Il programma deve prima stampare, sulla prima riga, il numero di possibili somme che si possono ottenere con queste monete. Sulla seconda riga, invece, devono apparire tutte le somme possibili in ordine crescente, separate da uno spazio.

Esempi

Ingresso
Uscita
4 2 5 4 2
9 2 4 5 6 7 8 9 11 13
 

Constraints

Time limit: 4 seconds

Memory limit: 512 MB

Output limit: 1 MB

To check your solution you need to sign in
Sign in to continue