Sumando monedas

Dadas n monedas de cierto valor, se te pide encontrar todas las posibles sumas que puedas obtener con esas monedas.

Entrada

La primera línea de la entrada contiene un único número entero n (1 ≤ n ≤ 100).
La siguiente línea contiene n enteros separados por espacios (1 ≤ ≤ 1000), que representan los valores de las monedas.

Salida

En la primera línea, el programa debe imprimir la cantidad de sumas posibles que se pueden obtener con esas monedas. En la segunda línea, se deben mostrar todas las sumas posibles en orden ascendente, separadas por un espacio.

Ejemplos

Entrada
Salida
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