C - Strange Paper Editorial /

Time Limit: 2 sec / Memory Limit: 1024 MB

配点 : 500

問題文

tada72 君は不思議な紙を拾いました。その紙には、 「この紙には 12 個、 23 個、 32 個、 41 個書かれている」と書いてありました。そして彼は、同じような性質を持つ紙を他にも作ってみたくなりました。

整数 N が与えられるので、次の 2 つの条件を満たす長さ N の数列 A が存在するか判定し、存在する場合は構築してください。

  • 数列の要素は全て 1 以上 N 以下の整数
  • 1 \leq i \leq N を満たす全ての整数 i に対し、 i=A_j(1 \leq j \leq N) を満たす整数 jA_i-1 個存在する

制約

  • 1 \leq N \leq 10^5
  • 入力は全て整数

入力

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

N

出力

条件を満たす数列 A が存在しない場合、 1 行に -1 と出力せよ。存在する場合、以下の形式で数列 A を出力せよ。

A_1 A_2 \ldots A_N

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


入力例 1

4

出力例 1

2 3 2 1

A には 11 個、 22 個、 31 個、 40 個含まれているので条件を満たしています。


入力例 2

2

出力例 2

-1

原案: tada72