Tima i jego $N$ przyjaciół uwielbiają grać w Bootfall. Bootfall to gra sportowa dla $N+1$ graczy. Każdy gracz ma siłę, którą można przedstawić jako dodatnią liczbę całkowitą. Gra składa się z $N+1$ rund. W każdej rundzie jeden z graczy nagrywa ją na wideo, a pozostałych $N$ graczy dzieli się na dwie drużyny tak, aby każdy gracz należał do jednej z drużyn i obie drużyny były niepuste. Siła drużyny jest sumą sił wszystkich jej graczy. Ponadto każdy gracz nagrywa dokładnie jedną rundę.
Rundę nazywamy remisową, jeśli istnieje podział na dwie drużyny o równej sile, a całą grę nazywamy przyjacielską, jeśli wszystkie rundy są remisowe. Każdy z $N$ przyjaciół poinformował już Timę o swojej sile, a teraz Tima może przypisać sobie dowolną dopuszczalną wartość siły.
Tima zna siły wszystkich $N$ graczy i chce wybrać taką wartość, aby gra mogła być przyjacielska. Pomóż mu znaleźć wszystkie możliwe wartości siły.
Wejście
Pierwszy wiersz wejścia zawiera jedną dodatnią liczbę całkowitą $N$ ($1\le N\le 500$) — liczbę przyjaciół Timy. Drugi wiersz zawiera $N$ dodatnich liczb całkowitych $a_1,a_2,\ldots,a_N$ ($1\le a_i\le 500$; $1\le i\le N$), oddzielonych spacjami, gdzie $a_i$ jest siłą $i$-tej osoby.
Wyjście
Pierwszy wiersz wyjścia powinien zawierać jedną liczbę całkowitą $K$ — liczbę możliwych wartości siły Timy. Jeśli nie ma żadnej możliwej wartości, wypisz tylko „0” (bez cudzysłowów). W przeciwnym razie w drugim wierszu wypisz $K$ dodatnich liczb całkowitych oddzielonych spacjami — wszystkie możliwe wartości siły Timy w kolejności rosnącej.
Podzadania
Zadanie składa się z sześciu podzadań:
- $1\le N\le 12$, $1\le a_i\le 200$ dla każdego $1\le i\le N$. 6 punktów.
- $1\le N\le 30$, $1\le a_i\le 20$ dla każdego $1\le i\le N$. 7 punktów.
- $1\le N\le 100$, $1\le a_i\le 100$ dla każdego $1\le i\le N$. 15 punktów.
- $1\le N\le 270$, $1\le a_i\le 270$ dla każdego $1\le i\le N$. 16 punktów.
- $1\le N\le 350$, $1\le a_i\le 350$ dla każdego $1\le i\le N$. 21 punktów.
- $1\le N\le 500$, $1\le a_i\le 500$ dla każdego $1\le i\le N$. 35 punktów.
Punkty za każde podzadanie zostaną przyznane wtedy i tylko wtedy, gdy rozwiązanie pomyślnie przejdzie wszystkie poprzednie podzadania.
Przykład
Wejście 1
4 1 3 1 5
Wyjście 1
1 3
Wejście 2
6 3 5 7 11 9 13
Wyjście 2
4 1 3 17 19
Wejście 3
3 2 2 2
Wyjście 3
0
Wejście 4
4 200 200 200 200
Wyjście 4
2 200 600
Uwagi
Uwagi do pierwszego przykładu.
Pokażmy, że jeśli Tima wybierze siłę $3$, gra może być przyjacielska.
- Gdy Tima nagrywa grę, pozostali gracze mogą podzielić się następująco, aby runda była remisowa: $(1,3,1)$ w pierwszej drużynie i $(5)$ w drugiej.
- Gdy przyjaciel 1 nagrywa grę, pozostali mogą podzielić się następująco: $(1,5)$ w pierwszej drużynie i $(3,3)$ w drugiej.
- Gdy przyjaciel 2 nagrywa grę, pozostali mogą podzielić się następująco: $(1,1,3)$ w pierwszej drużynie i $(5)$ w drugiej.
- Gdy przyjaciel 3 nagrywa grę, pozostali mogą podzielić się następująco: $(3,3)$ w pierwszej drużynie i $(1,5)$ w drugiej.
- Gdy przyjaciel 4 nagrywa grę, pozostali mogą podzielić się następująco: $(1,3)$ w pierwszej drużynie i $(1,3)$ w drugiej.
Jeśli Tima wybierze siłę różną od $3$, gra nie może być przyjacielska.