#355. 排列与交换

排列与交换

题目描述

给定 1,2,,N1, 2, \dots, N 的两个排列 P=(P1,P2,,PN)P = (P_1, P_2, \dots, P_N)Q=(Q1,Q2,,QN)Q = (Q_1, Q_2, \dots, Q_N)。今要使 PP 等于 QQ,可以对 PP 进行如下操作

  • 选择两个下标 i,ji, j1i,jN1 \le i, j \le N),交换 PP 里第 ii 个和第 jj 个数。

请给出一种操作方案,使用不超过 NN 次交换操作使 PP 等于 QQ。可以证明一定有解。

输入格式

NN
P1 P2  PNP_1 \ P_2 \ \dots \ P_N
Q1 Q2  QNQ_1 \ Q_2 \ \dots \ Q_N

输出格式

第一行输出操作次数 KK,接下来 KK 行每行输出输出两个整数 iijj 表示一次操作。

样例

3
1 2 3
3 2 1
1
1 3