漂亮数(Right-truncatable prime)要求从右向左逐位删除时所得所有前缀都仍是素数。
例 739 → 73 → 7 → ∅ 全部为素数。
在数学中,有一种特殊的素数被称为漂亮数。一个素数被称为漂亮数,当且仅当它满足以下条件:
1.它是一个素数;
2.删除它的最后一位数字后,剩下的数仍然是素数;
3.重复上述过程,直到所有数字都被删除,每一步得到的数都是素数。
换句话说,重复删除最后一位,直到只剩下一位数字。每一步得到的数都必须是素数(包括最终剩下的这一位)。
例如,739是一个漂亮数,因为:
现在,给定一个区间[l,r],请你计算这个区间内有多少个漂亮数。
[名词解释]
素数:素数是指大于1的自然数,除了1和它本身外,不能被其他自然数整除。例如,2,3,5,7,11都是素数。
每个测试文件均包含多组测试数据。
第一行输入一个整数T(1≦T≤105)代表数据组数,每组测试数据描述如下:
每组数据输入两个整数l和r(1≦l≦r≦1018),表示需要查询的区间。
对于每一组测试数据,新起一行输出一个整数,表示区间[l,r]内漂亮数的个数。
输入
3
1 10
100 300
1000 3000
输出
4
3
5
说明
在这个样例中:
第一组数据[1,10]中的漂亮数有2,3,5,7,共4个;
第二组数据[100,300]中的漂亮数有233,239,293,共3个;
第三组数据[1000,3000]中的漂亮数有2333,2339,2393,2399,2939,共5个。
输入
3 7
输出
No