Tima 和他的 $N$ 个朋友喜欢玩 Bootfall。Bootfall 是一种供 $N+1$ 名玩家参与的体育游戏。每位玩家都有一个力量值,可以用一个正整数表示。游戏包含 $N+1$ 个回合,在每一回合中,其中一名玩家负责录制视频,其余 $N$ 名玩家被分成两支队伍,使得每位玩家都被分配到其中一支队伍,且两支队伍均非空。队伍的力量值是该队所有玩家力量值之和。此外,每位玩家都会在恰好一个回合中负责录制。
如果存在一种将玩家分成两支力量值相等的队伍的方法,则该回合被称为“平局”(draw)。如果所有回合都是平局,则整个游戏被称为“友好”(friendly)。$N$ 个朋友已经告知了 Tima 他们的力量值,现在 Tima 可以为自己设定任何有效的正整数力量值。
Tima 知道所有 $N$ 名朋友的力量值,他将选择某个值,使得游戏能够成为友好的。请帮助他找出所有可能的取值。
输入格式
第一行包含一个正整数 $N$ ($1 \le N \le 500$),表示 Tima 的朋友数量。 第二行包含 $N$ 个正整数 $a_1, a_2, \dots, a_N$ ($1 \le a_i \le 500; 1 \le i \le N$),用空格分隔,其中 $a_i$ 表示第 $i$ 个人的力量值。
输出格式
第一行输出一个整数 $K$,表示 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,则游戏无法成为友好的。