AT_arc147_b [ARC147B] Swap to Sort
题目描述
现有一个$1$到$N$的排列$ P=(P_1,P_2,\ldots,P_N) $ 。你可以重复执行以下两种操作来使$P$从小到大排序。
- 操作$A:$选择一个整数$i$满足$1\ \leq\ i\ \leq\ N-1$,然后交换$P_i$和$P_{i+1}$。
- 操作$B:$选择一个整数$i$满足$1\ \leq\ i\ \leq\ N-2$,然后交换$P_i$和$P_{i+2}$。
请找出一个满足以下要求的操作序列
* 操作$A$的数量最少
* 操作的总数不超过$10^5$
在题目条件的约束下,我们可以证明合法的解总是存在的
输入格式
#### $ N $
$ P_1 $ $ P_2 $ $ \ldots $ $ P_N $
输出格式
设你的答案中的操作次数为$S$。输出有$S+1$行。
第一行包含整数$S$
第$(s+1)(1≤s≤S)$行中应包含以下内容。
- 如果第$s$个操作为$A$,输出`A i`,$i$为此次操作选择的整数
- 如果第$s$个操作为$B$,输出`B i`,$i$为此次操作选择的整数
如果有多个合法解,输出一个即可。
## 样例 #1
### 样例输入 #1
```
4
3 2 4 1
```
### 样例输出 #1
```
4
A 3
B 1
B 2
B 2
```
## 样例 #2
### 样例输入 #2
```
3
1 2 3
```
### 样例输出 #2
```
0
```
## 样例 #3
### 样例输入 #3
```
6
2 1 4 3 6 5
```
### 样例输出 #3
```
3
A 1
A 3
A 5
```
说明/提示
- $ 2\ \leq\ N\ \leq\ 400 $
- $ 1\ \leq\ P_i\ \leq\ N\ \,(1\ \leq\ i\ \leq\ N) $
- $ P_i\ \neq\ P_j\ \,(1\ \leq\ i\