#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

数据范围与提示

对于全部数据,

子任务编号 分值

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

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