#16. 排列蛤蟆

内存限制:512 MiB 时间限制:1000 ms 标准输入输出
题目类型:传统 评测方式:Special Judge
上传者: 2745518585

题目背景

题目描述

蛤蟆皮 有 只蛤蟆,编号为 。 喜欢让蛤蟆按照一定的顺序排成一列,并且这个顺序可能变化。

可以让蛤蟆们进行两种操作:让第 只蛤蟆移动到第 只蛤蟆前面或者让第 只蛤蟆移动到第 只蛤蟆后面。但是蛤蟆们受到宇宙射线的影响,只会在第 只蛤蟆到第 只蛤蟆中编号小于 的蛤蟆个数等于编号大于 的蛤蟆个数时才会执行操作( 为当前排列中第 只蛤蟆的编号)。

现在蛤蟆们已经排成了一排, 想要将蛤蟆们按照另一种顺序排列,请构造一种合法的方案或者报告无解。

输入格式

从文件 harmer.in 读入。

第一行两个正整数 ,表示蛤蟆个数。

接下来两行两个长度为 的排列,分别表示蛤蟆初始的顺序和 期望的顺序。

输出格式

输出到文件 harmer.out。

如果存在合法的方案,输出 YES,否则输出 NO。

如果存在合法的方案,则在下一行输出方案所需步数 ,接下来 行每行输出当前操作的 和 。

样例

样例 1 输入

3
1 2 3
3 2 1

样例 1 输出

NO

样例 2 输入

4
3 2 4 1
4 2 1 3

样例 2 输出

YES
3
2 2
1 2
4 -2

数据范围与提示

对于全部数据,。

子任务编号 分值

如果正确判断是否存在方案但是方案错误则获得该子任务 的分数,注意你仍然需要按格式输出方案。

可以证明,如果存在合法的方案,则所需最少步数不多于 。