问题 S: 奇怪的上单

内存限制:128 MB 时间限制:1.000 S
评测方式:文本比较 命题人:
提交:14 解决:8

题目描述



英雄联盟游戏中,上路是一条对抗性很强的分路,在一方取得优势后,很容易就能把另一方按在地上(Floor)摩擦。而有些选手面对这样的“网络暴力”,就会通过修改(Modify)游戏文件或开脚本等操作来监视对面的技能冷却时间,或者实现自动走位的作弊功能。



现在两个正整数 a,b正在对线。如果有序数对(a,b)满足条件:  $\lfloor \frac ab \rfloor$ = $a mod b$ 。我们称有序数对(a,b)“五五开”。 这里,$\lfloor \frac ab \rfloor$ 表示 $a$  除以 $b$ 向下取整。a mod b 是 $a$除以 $b$ 的余数。

现在给出两个正整数$(a,b)$,数对 $(a,b)$满足以下条件:$1 <= a <= x, 1 <= b <= y$.

其中 x = $\sum_{i = 1}^m f(i) $ mod 1e9+7 , $y = F(n)$ .



下面给出 $x$和 $y$的计算过程:

    $f(i)$ 表示最小正整数 $c$,使得 $c$ 不是 $i$ 的因数。比如 $f(1) = 2, f(2) = 3, f(3) = 2$。

    $F(i)$ 表示斐波那契数列的第 $i$ 项。且 $F(1) = 1, F(2) = 1$。



基于上述条件,问:数对 $(a,b)$ 中有多少“五五开”数对?  (注意: 此处无需取模) 

输入

第一行包含一个整数 $T$ ($1<=$ $T$ $<=100$)表示测试用例的数量。

第二行包含两个正整数 $m,n$. $m$ <=  1016 ,  $n <= 40$

输出

对于每个测试用例,在一行内打印答案。

样例输入 复制

3
2 2
2 3
2 4

样例输出 复制

0
1
2

提示

对于第二组测试数据,m=2,n=3,容易得出x=5,y=2. (3,2)是唯一的“五五开”数对。