用2种方式计算这个问题,已经思考了很久,怎么实现的C语言

Problem Description
There is a function f(x),which is defined on the natural numbers set N,satisfies the following eqaution

N2−3N+2=∑d|Nf(d)

calulate ∑Ni=1f(i) mod 109+7.

Input
the first line contains a positive integer T,means the number of the test cases.

next T lines there is a number N

T≤500,N≤109

only 5 test cases has N>106.

Output
Tlines,each line contains a number,means the answer to the i-th test case.

Sample Input
1
3

Sample Output
2

$1^2-3*1+2=f(1)=0$
$2^2-3*2+2=f(2)+f(1)=0->f(2)=0$
$3^2-3*3+2=f(3)+f(1)=2->f(3)=2$
$f(1)+f(2)+f(3)=2$

https://blog.csdn.net/AHU_waterspider/article/details/82785057