题目要求计算所有满足 1 ≤ i < j ≤ n 的二元组 (i,j) 对应的值
gcd(i,j)i+j
的总和,并对 109+7 取模。
注意到令 d=gcd(i,j),令 i=d⋅a,j=d⋅b 且 gcd(a,b)=1(且 a<b),有
对于给定的整数n,对于全部的二元组(i,j)满足1≦i<j≦n,计算gcdi,ji+j之和。由于答案可能很大,请将答案对(109+7)取模后输出。
gcd,即最大公因数,指两个整数共有约数中最大的一个。例如,12和 30的公约数有1,2,3,6,其中最大的约数是6,因此gcd(12,30)=6。
每个测试文件均包含多组测试数据。第一行输入一个整数T(1≦T≤105)代表数据组数,每组测试数据描述如下:
在一行上输入一个整数n(1≦n≦106)代表给定的整数。
除此之外,保证单个测试文件的n之和不超过109。
对于每一组测试数据,新起一行。输出一个整数,代表答案对(109+7)取模后的结果。
输入
4
2
3
10
114514
输出
3
12
396
853391453
对于第二组测试数据,满足条件的二元组为(1,2)、(1,3)、(2,3)。他们对应的值分别为11+2=3、11+3=4、12+3=5,所以答案为3+4+5=12。