ツインリバース

아직 제출이 없습니다시간 제한2초메모리 제한512 MB

문제

要素数 NN の配列 AA が与えられる。ただし、AA(1, 2, ..., N)(1,\ 2,\ ...,\ N) の順列である。

次の操作を 00 回以上 10,00010,000 回以下の任意の回数行い、AA(1, 2, ..., N)(1,\ 2,\ ...,\ N) へソートしたい。

  • 整数 ii (1iN1\leq i\leq N) を 11 つ選び、区間 A\[1, i1]A\[1,\ i-1] の要素を逆順にし、区間 A\[i+1, N]A\[i+1,\ N] の要素を逆順にする。

ただし、区間 A\[l, r]A\[l,\ r] とは AAl, l+1, ..., rl,\ l+1,\ ...,\ r 番目の位置のことである。

AA(1, 2, ..., N)(1,\ 2,\ ...,\ N) へソートできるか判定せよ。ソートできるならば、操作の例を一つ出力せよ。

입력

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

NN

A_1A\_1 A_2A\_2 ...... A_NA\_N

출력

AA(1, 2, ..., N)(1,\ 2,\ ...,\ N) へソートできないならば、-1 とだけ一行に出力せよ。

ソートできるならば、操作の例を一つ次のように出力せよ。

  • 11 行目には、操作の回数を表す整数 MM (0M10,0000\leq M\leq10,000) を出力せよ。
  • 22 行目からの MM 行のうち kk 行目には、kk 回目の操作で選ぶ整数 ii (1iN1\leq i\leq N) を出力せよ。

제한

  • 1N3,0001\leq N\leq 3,000
  • AA(1, 2, ..., N)(1,\ 2,\ ...,\ N) の順列である。