题目描述
蛤蟆皮 zsq 有 $n$ 只蛤蟆,编号为 $1 \sim n$。zsq 喜欢让蛤蟆按照一定的顺序排成一列,并且这个顺序可能变化。
zsq 可以让蛤蟆们进行两种操作:让第 $i$ 只蛤蟆移动到第 $j (j < i)$ 只蛤蟆前面或者让第 $i$ 只蛤蟆移动到第 $j (j>i)$ 只蛤蟆后面。但是蛤蟆们受到宇宙射线的影响,只会在第 $i$ 只蛤蟆到第 $j$ 只蛤蟆中编号小于 $a_i$ 的蛤蟆个数等于编号大于 $a_i$ 的蛤蟆个数时才会执行操作($a_i$ 为当前排列中第 $i$ 只蛤蟆的编号)。
现在蛤蟆们已经排成了一排,zsq 想要将蛤蟆们按照另一种顺序排列,请构造一种合法的方案或者报告无解。
输入格式
从文件 hammer.in 读入。
第一行两个正整数 $n$,表示蛤蟆个数。
接下来两行两个长度为 $n$ 的排列,分别表示蛤蟆初始的顺序和 zsq 期望的顺序。
输出格式
输出到文件 hammer.out。
如果存在合法的方案,输出 YES,否则输出 NO。
如果存在合法的方案,则在下一行输出方案所需步数 $m$,接下来 $m$ 行每行输出当前操作的 $i$ 和 $j$。
样例输入 1
3
1 2 3
3 2 1
样例输出 1
NO
样例输入 2
4
3 2 4 1
4 2 1 3
样例输出 2
YES
3
2 4
1 3
4 2
数据范围
对于全部数据,$1 \leq n \leq 200$。
| 子任务编号 | 分值 | $n \leq$ |
|---|---|---|
| $1$ | $5$ | $8$ |
| $2$ | $10$ | $11$ |
| $3$ | $20$ | $25$ |
| $4$ | $30$ | $50$ |
| $5$ | $35$ | $200$ |
如果正确判断是否存在方案但是方案错误则获得该子任务 $20\%$ 的分数,注意你仍然需要按格式输出方案。
可以证明,如果存在合法的方案,则所需最少步数不多于 $10^6$。
