题目描述
给定一个排列 P=(P1,P2,cdots,P2N),其中包含了数字 1 到 2N。
可以在 0 到 N 次操作之间执行以下操作:
- 选择一个整数 x (1leqxleq2N−1),交换 Px 和 Px+1 的值。
请设计一系列操作使得 P 满足下列条件:
- 对于每个 i=1,3,5,cdots,2N−1,有 Pi<Pi+1;
- 对于每个 i=2,4,6,cdots,2N−2,有 Pi>Pi+1。
可以证明这样的一系列操作总是存在。
约束条件
- 1leqNleq105
- (P1,P2,cdots,P2N) 是 (1,2,cdots,2N) 的一个排列。
- 输入中的所有值均为整数。
输入格式
从标准输入中以以下格式获得输入:
N
P1 P2 cdots P2N
输出格式
以以下格式打印所需的操作序列:
K
x1 x2 cdots xK
这里,K 是执行的操作次数 (0leqKleqN),xi 是第 i 次操作中选择的 x 的值 (1leqxileq2N−1)。如果有多个满足条件的解,输出任何一个即可。
样例输入 1
2
4 3 2 1
样例输出 1
2
1 3
这些操作使得 P=(3,4,1,2),满足条件。
样例输入 2
1
1 2
样例输出 2
0