U366404 解开密码锁(lock)
题目描述
小A面前有一个密码锁,上面是 $1$ 到 $n$ 的 $n$ 个数字,排成两行,当然$n$一定是偶数。比如 $6$ 个数字的一把锁,其数字可以如下。
```
321
654
```
我们可以把这个排列简写为$321654$。
密码锁上有$3$个按钮。$3$个按钮的功能分别是:
1.交换上下两行。比如
```
123 -> 456
456 123
```
2.将最右边一列插入最左边。比如
```
123 -> 312
456 645
```
3.整个密码做顺时针旋转。比如
```
123 -> 412
456 563
```
小A想知道,最少按多少次按钮,可以让初始密码变成$1$~$n$的升序排列,从而解开密码锁。
同时你还需要输出这些具体步骤,以及密码从头到尾的变化过程。保证初始密码一定有解。
如果有多个方案。答案取方案字符串字典序最小的那个。
数据保证至少要操作 $1$ 次。
输入格式
共两行。
第一行为$n$,表示密码锁总共的数字个数。
第二行为$n$个数字字符组成的字符串,表示一开始的密码排列。
输出格式
共$m+2$行。
第一行为$m$。表示最少要按$m$次按钮。
第二行为$1$,$2$,$3$组成的字符串,表示这$m$次分别按的是哪些按钮。
接下来$m+1$行,分别表示一开始的密码排列以及按了$m$次对应的密码排列状态。
说明/提示
$1324$经过步骤$1$会变成$2413$,再经过步骤$3$变成$1234$。
#### 数据范围
对于$15\%$的数据,$n