#D2082O. 【BFS例题】内阁会议

【BFS例题】内阁会议

Description

内阁大臣非常沮丧,他收到了安全部长的消息:他们都需要改变办公室的四位房间号码。

安全部长:经常换换房间号码是出于安全方面的考虑,可以让敌人陷入迷惑。

内阁大臣:但是我选择1033作为我的房间号是出于我个人的偏爱。我可是内阁大臣。

安全部长:你不就是喜欢素数吗?我们给你安排了8179 这个号码,你只需要贴四个新数字覆盖住以前的四个老数字就可以了。

内阁大臣:不行,没有那么容易。当我把 1033的 1用8 盖住的时候,8033可不是个素数!

安全部长:我知道,你不能允许你的门上出现非素数。

内阁大臣:正确!所以我必须找到一个方法从1033 修改到8179,使得过程中门上出现的永远是素数,而且每次只能够修改当前数字的一位。

这个时候,在旁边偷听的财政大臣忍不住来插嘴。

财政大臣:千万不要为了这个事情增加不必要的开支!我知道换一个数字就是要花一磅!

内阁大臣:那我需要一个懂计算机的人来帮我规划一下。

信息大臣:我能够帮助你!

信息大臣现在把这个任务就交给你了。你要从一个四位数的素数出发,每次修改其中的一位,并且要保证修改的结果还是一个素数,还不能出现前导零。你要找到一个修改次数最少的方案,得到我们所需要的素数。

关于 1033 怎么变到 8179,这里是一个最短的方策: 1033 1733 3733 3739 3779 8779 8179 修改了 6次,所以要花6 磅。

Format

Input

第一行给出一个正整数:测试用例的数目(最多100)。每个测试用例一行,两个用空格分开的数字,这两个数字都是4位素数(不以0作为首位)。

Output

对于每个测试用例,输出一行,或者是最小花费的数目,或者输出Impossible。

Samples

3
1033 8179
1373 8017
1033 1033
6
7
0

Limitation

1s, 1024KiB for each test case.