问题2478--救救孩子

2478: 救救孩子

时间限制: 10 Sec  内存限制: 256 MB
提交: 7  解决: 2
[提交] [状态] [讨论版] [命题人:]

题目描述

寒假快到了,上小学的谷克迪提前找老师要来了寒假作业,他希望尽快的写完作业,然后就可以轻松的出去玩,当他做到了最后一页时,他看到了T道题目,每道题的形式都如下:
ΣiΣj lcm(i, j) (i from 1..N, j from 1..M),只是给出的N和M不同,作为一个学霸,他知道lcm(i, j)表示i和j的最小公倍数,他轻松的做出了N = 2,M = 3的情况,计算过程如下:
lcm(1, 1) = 1,lcm(1, 2) = 2,lcm(1, 3) = 3,lcm(2, 1) = 2,lcm(2, 2) = 2,lcm(2, 3) = 6
原式= 1 + 2 + 3 + 2 + 2 + 6 = 16
但是他发现最大的N,M有1000000000这么大,他感觉用掉整个寒假也算不出答案,于是他请求你的帮助,希望你能编程帮他算出计算题的答案。

输入

第一行一个正整数T(1 ⩽ T ⩽ 10),表示计算题的题数。
接下来的T行,每行有2个正整数。第一个表示N(1 ⩽ N ⩽ 109),第二个表示M(1 ⩽ M ⩽ 109)。

输出

对应每道计算题有一行输出数据,表示对于给出的N,M该计算题的答案为多少,由于答案可能很大,你只需要输出答案对1000000007取模的结果。

样例输入

2
1 3
14 25

样例输出

6
25485

来源/分类


[提交] [状态]