Tima と彼の $N$ 人の友人は Bootfall をプレイするのが大好きです。Bootfall は $N + 1$ 人のプレイヤーで行うスポーツゲームです。各プレイヤーには正の整数で表される強さがあります。ゲームは $N + 1$ ラウンドからなり、各ラウンドではプレイヤーのうち 1 人がそのラウンドをビデオで撮影し、残りの $N$ 人のプレイヤーは、各プレイヤーがいずれか一方のチームに割り当てられ、かつ両方のチームが空でないように 2 つのチームに分かれます。チームの強さは、そのチームに属するすべてのプレイヤーの強さの総和です。また、各プレイヤーはちょうど 1 つのラウンドで撮影係を務めます。
強さが等しい 2 つのチームへの分け方が存在するとき、そのラウンドは引き分けと呼ばれ、またすべてのラウンドが引き分けであるとき、ゲーム全体は友好的と呼ばれます。$N$ 人の友人はそれぞれ自分の強さをすでに Tima に伝えており、今 Tima は自分自身に任意の有効な強さの値を設定できます。
Tima は $N$ 人すべてのプレイヤーの強さを知っており、ゲームが友好的になり得るような値を選びます。あり得るすべての強さを求めるのを手伝ってください。
入力
入力の 1 行目には、1 つの正の整数 $N$($1 \le N \le 500$)—— Tima の友人の人数が含まれます。入力の 2 行目には、空白で区切られた $N$ 個の正の整数 $a_1, a_2, \ldots, a_N$($1 \le a_i \le 500$;$1 \le i \le N$)が含まれ、$a_i$ は $i$ 番目の人の強さを表します。
出力
出力の 1 行目には、1 つの整数 $K$ —— Tima にとり得る強さの個数を含めなければなりません。Tima にとり得る強さが存在しない場合は、“0”(引用符なし)のみを出力し、そうでない場合は出力の 2 行目に空白で区切られた $K$ 個の正の整数 —— Tima にとり得るすべての強さの値を昇順に出力してください。
小課題
この問題は 6 つの小課題からなります:
- すべての $1 \le i \le N$ について、$1 \le N \le 12$、$1 \le a_i \le 200$。配点は 6 点。
- すべての $1 \le i \le N$ について、$1 \le N \le 30$、$1 \le a_i \le 20$。配点は 7 点。
- すべての $1 \le i \le N$ について、$1 \le N \le 100$、$1 \le a_i \le 100$。配点は 15 点。
- すべての $1 \le i \le N$ について、$1 \le N \le 270$、$1 \le a_i \le 270$。配点は 16 点。
- すべての $1 \le i \le N$ について、$1 \le N \le 350$、$1 \le a_i \le 350$。配点は 21 点。
- すべての $1 \le i \le N$ について、$1 \le N \le 500$、$1 \le a_i \le 500$。配点は 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 チームに $(1, 3, 1)$、第 2 チームに $(5)$。
- 友人 1 がゲームを撮影するとき、残りの人は次のように分けられます:第 1 チームに $(1, 5)$、第 2 チームに $(3, 3)$。
- 友人 2 がゲームを撮影するとき、残りの人は次のように分けられます:第 1 チームに $(1, 1, 3)$、第 2 チームに $(5)$。
- 友人 3 がゲームを撮影するとき、残りの人は次のように分けられます:第 1 チームに $(3, 3)$、第 2 チームに $(1, 5)$。
- 友人 4 がゲームを撮影するとき、残りの人は次のように分けられます:第 1 チームに $(1, 3)$、第 2 チームに $(1, 3)$。
Tima が $3$ 以外の強さを選んだ場合、ゲームは友好的にはなり得ません。