E - Exactly K Triangles Editorial /

Time Limit: 2 sec / Memory Limit: 1024 MB

配点 : 600

問題文

非負整数 K が与えられます。以下の条件を満たす正整数列 A=(A_1, A_2, \ldots, A_N)1 つ構築してください。

  • 3 辺の長さがそれぞれ A_i, A_j, A_k である面積が正の三角形が存在するような整数組 (i, j, k) (1 \leq i < j < k \leq N) がちょうど K 個ある。

制約

  • 0 \leq K \leq 10^9
  • 入力は全て整数

入力

入力は以下の形式で標準入力から与えられる。

K

出力

以下の形式で数列 A を出力せよ。

N
A_1 A_2 \ldots A_N

ただし、これは以下の条件を満たす必要がある。

  • 1 \leq N \leq 2000
  • 1 \leq A_i \leq 10^{18}
  • 出力は全て整数
  • 3 辺の長さがそれぞれ A_i, A_j, A_k である面積が正の三角形が存在するような整数組 (i, j, k) (1 \leq i < j < k \leq N)がちょうど K 個ある。

この制約下で、どのような K に対しても条件を満たす数列 A1 つ以上存在することが証明できる。

条件を満たす数列 A が複数存在する場合、そのどれを出力してもよい。


入力例 1

3

出力例 1

5
1 2 3 4 5

A_i, A_j, A_k3 辺に持つ面積が正の三角形が存在するのは (i, j, k) = (2,3,4), (2,4,5), (3,4,5)3 つなので、条件を満たします。


入力例 2

0

出力例 2

3
1 10 100

入力例 3

10

出力例 3

5
10 10 10 10 10

原案: NatsubiSogan