#agc058a. [agc058_a]Make it Zigzag

[agc058_a]Make it Zigzag

問題文

(1,2,cdots,2N)(1,2,\\cdots,2N) の順列 P=(P1,P2,cdots,P2N)P=(P_1,P_2,\\cdots,P_{2N}) が与えられます.

あなたは,以下の操作を 00 回以上 NN 回以下行うことができます.

  • 整数 xx (1leqxleq2N11 \\leq x \\leq 2N-1) を選ぶ. PxP_xPx+1P_{x+1} の値を入れ替える.

操作後の PP が以下の条件を満たすような操作列を 11 つ示してください.

  • i=1,3,5,cdots,2N1i=1,3,5,\\cdots,2N-1 について,Pi<Pi+1P_i<P_{i+1} である.
  • i=2,4,6,cdots,2N2i=2,4,6,\\cdots,2N-2 について,Pi>Pi+1P_i>P_{i+1} である.

なお,条件を満たすような操作列が必ず存在することが証明できます.

制約

  • 1leqNleq1051 \\leq N \\leq 10^5
  • (P1,P2,cdots,P2N)(P_1,P_2,\\cdots,P_{2N})(1,2,cdots,2N)(1,2,\\cdots,{2N}) の順列
  • 入力される値はすべて整数である

入力

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

NN P1P_1 P2P_2 cdots\\cdots P2NP_{2N}

出力

以下の形式で操作列を出力せよ.

KK x1x_1 x2x_2 cdots\\cdots xKx_K

ここで,KK は行う操作の回数 (0leqKleqN0 \\leq K \\leq N) であり,xix_i (1leqxileq2N11 \\leq x_i \\leq 2N-1) は ii 回目の操作で選ぶ xx の値である. 条件を満たす解が複数存在する場合,どれを出力しても正解とみなされる.


入力例 1

2
4 3 2 1

出力例 1

2
1 3

操作後は P=(3,4,1,2)P=(3,4,1,2) となり,条件を満たします.


入力例 2

1
1 2

出力例 2

0