Tima и его $N$ друзей любят играть в Bootfall. Bootfall — это спортивная игра для $N + 1$ игроков. У каждого игрока есть сила, которую можно представить положительным целым числом. Игра состоит из $N + 1$ раундов; в каждом раунде один из игроков записывает раунд на видео, а остальные $N$ игроков делятся на две команды так, что каждый игрок попадает в одну из команд и обе команды непусты. Сила команды равна сумме сил всех игроков в этой команде. Кроме того, каждый игрок будет оператором ровно в одном раунде.
Раунд называется ничейным, если существует разбиение на две команды с равной силой, а вся игра называется дружеской, если все раунды являются ничейными. Каждый из $N$ друзей уже сообщил Tima свою силу, и теперь Tima может назначить себе любое допустимое значение силы.
Tima знает силы всех $N$ игроков и выберет некоторое значение так, чтобы игра могла быть дружеской. Помогите ему найти все возможные значения силы.
Входные данные
Первая строка входных данных содержит одно положительное целое число $N$ ($1 \le N \le 500$) — количество друзей Tima. Вторая строка входных данных содержит $N$ положительных целых чисел $a_1, a_2, \ldots, a_N$ ($1 \le a_i \le 500$; $1 \le i \le N$), разделённых пробелами, где $a_i$ — сила $i$-го человека.
Выходные данные
Первая строка выходных данных должна содержать одно целое число $K$ — количество возможных значений силы для Tima. Если для Tima не существует ни одного возможного значения силы, выведите только «0» (без кавычек), иначе во второй строке выходных данных выведите через пробел $K$ положительных целых чисел — все возможные значения силы для Tima в порядке возрастания.
Подзадачи
Эта задача состоит из шести подзадач:
- $1 \le N \le 12$, $1 \le a_i \le 200$, для всех $1 \le i \le N$. Оценка: 6 баллов.
- $1 \le N \le 30$, $1 \le a_i \le 20$, для всех $1 \le i \le N$. Оценка: 7 баллов.
- $1 \le N \le 100$, $1 \le a_i \le 100$, для всех $1 \le i \le N$. Оценка: 15 баллов.
- $1 \le N \le 270$, $1 \le a_i \le 270$, для всех $1 \le i \le N$. Оценка: 16 баллов.
- $1 \le N \le 350$, $1 \le a_i \le 350$, для всех $1 \le i \le N$. Оценка: 21 балл.
- $1 \le N \le 500$, $1 \le a_i \le 500$, для всех $1 \le i \le N$. Оценка: 35 баллов.
Баллы за каждую подзадачу начисляются только в том случае, если решение успешно проходит все предыдущие подзадачи.
Примеры
Входные данные 1
4 1 3 1 5
Выходные данные 1
1 3
Входные данные 2
6 3 5 7 11 9 13
Выходные данные 2
4 1 3 17 19
Входные данные 3
3 2 2 2
Выходные данные 3
0
Входные данные 4
4 200 200 200 200
Выходные данные 4
2 200 600
Примечание
Примечания к первому примеру.
Покажем, что если Tima выберет силу $3$, то игра может быть дружеской.
- Когда игру записывает Tima, чтобы сделать раунд ничейным, остальных игроков можно разделить так: $(1, 3, 1)$ в первой команде и $(5)$ во второй.
- Когда игру записывает друг 1, остальных можно разделить так: $(1, 5)$ в первой команде, $(3, 3)$ во второй.
- Когда игру записывает друг 2, остальных можно разделить так: $(1, 1, 3)$ в первой команде, $(5)$ во второй.
- Когда игру записывает друг 3, остальных можно разделить так: $(3, 3)$ в первой команде, $(1, 5)$ во второй.
- Когда игру записывает друг 4, остальных можно разделить так: $(1, 3)$ в первой команде, $(1, 3)$ во второй.
Если Tima выберет силу, не равную $3$, то игра не может быть дружеской.