令
$$f_{n,a,b}(x)=ax+b \pmod n,$$
其中$a,b,x\in\mathbb Z$且$0 < a < n, 0\le b < n, 0\le x < n$。若
$$f_{n,a,b}(f_{n,a,b}(x))=f_{n,a,b}(x) \pmod n,$$
对任意$0\le x < n$都成立,就称$f_{n,a,b}$为收缩函数。
target=10**7+1
mod=10**9+7
p=[i*i+1 if i%2==0 else (i*i+1)//2 for i in range(target+1)]
f=[1]*(target+1)
for i in range(2,target+1):
if (q:=p[i])>1:
for j in range(i,target+1,q):
m=1
while p[j]%q==0:
p[j]//=q
m*=q
f[j]=f[j]*(m+1)%mod
print("initialization completed, start computing...")
s=0
for n in range(1,target):
u=pow(n,4,mod)+4
v=f[n-1]*f[n+1]%mod
if n%2==0:
v=(v*5)%mod
s=(s+v-u)%mod
print(s)