Суммирование монет

Дано n монет некоторой стоимости. Необходимо определить все возможные суммы, которые можно получить, используя эти монеты.

Ввод

В первой строке входных данных содержится одно целое число n (1 ≤ n ≤ 100).
В следующей строке записаны n разделённых пробелами целых чисел (1 ≤ ≤ 1000), представляющих значения монет.

Вывод

На первой строке программа должна вывести количество возможных сумм, которые можно составить из данных монет. На второй строке нужно вывести все эти суммы в порядке возрастания, разделяя их пробелом.

Примеры

Ввод
Вывод
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