#arc110c. [arc110_c]Exoswap

[arc110_c]Exoswap

問題文

1,2,ldots,N1, 2, \\ldots, N を並び替えた数列 P=P1,P2,ldots,PNP = P_1, P_2, \\ldots, P_N があります。

あなたは PP に対して、以下の N1N - 1 種類の操作を、任意の順番でちょうど 11 回ずつ行わなければなりません。

  • P1P_1P2P_2 を入れ替える

  • P2P_2P3P_3 を入れ替える

    vdots\\vdots

  • PN1P_{N - 1}PNP_N を入れ替える

操作の順番を適切に決めることで、PP を昇順に並び替えてください。 もしそれが不可能な場合、-1 を出力してください。

制約

  • 入力は全て整数
  • 2leqNleq2times1052 \\leq N \\leq 2 \\times 10^5
  • PP1,2,ldots,N1, 2, \\ldots, N を並び替えた数列

入力

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

NN P1P_1 P2P_2 ldots\\ldots PNP_N

出力

どのような順番で操作しても PP を昇順に並び替えることができない場合、-1 を出力せよ。

PP を昇順に並び替えることができる場合、そのような操作列を N1N - 1 行使って出力せよ。 i (1leqileqN1)i ~ (1 \\leq i \\leq N - 1) 行目には、ii 回目の操作で PjP_jPj+1P_{j + 1} を入れ替えるとして、jj を出力せよ。

PP を昇順に並び替える操作列が複数存在する場合、どれを出力しても構わない。


入力例 1

5
2 4 1 5 3

出力例 1

4
2
3
1

以下のような操作列が PP を昇順に並び替えます。

  • まず P4P_4P5P_5 を入れ替える。PP2,4,1,3,52, 4, 1, 3, 5 になる
  • 次に P2P_2P3P_3 を入れ替える。PP2,1,4,3,52, 1, 4, 3, 5 になる
  • 次に P3P_3P4P_4 を入れ替える。PP2,1,3,4,52, 1, 3, 4, 5 になる
  • 次に P1P_1P2P_2 を入れ替える。PP1,2,3,4,51, 2, 3, 4, 5 になる

入力例 2

5
5 4 3 2 1

出力例 2

-1