HDU-4059 The Boss on Mars

%3D1%5D&preview=true)

%3D1%5D%0A%5C%5C%0A%3D%5Csum_%7Bd%7Cn%7D%5Cmu(d)%5Ccdot%20d%5E4%20%5Csum_%7Bi%3D1%7D%5E%7B%5Cfrac%7Bn%7D%7Bd%7D%7Di%5E4&preview=true)
%5Ccdot(2%5Ccdot%20n%2B1)%5Ccdot(3%5Ccdot%20n%5E2%2B3%5Ccdot%20n-1)%7D%7B30%7D&preview=true)

#include<bits/stdc++.h>
using namespace std;
const int mod=1e9+7;
const int inv=233333335;
typedef long long ll;
ll f(ll n){
ll ans=n*(n+1)%mod*(2LL*n+1)%mod;
ll x=(3LL*n*n%mod+3LL*n-1)%mod*inv%mod;
return ans*x%mod;
}
int mu(ll n){
if(n==1)return 1;
int cnt=0;
for(int i=2;1LL*i*i<=n;i++){
if(n%i==0){
cnt++;
n/=i;
if(n%i==0)return 0;
}
}
if(n>1)cnt++;
return cnt%2==1?-1:1;
}
ll cal(ll n,ll d){
ll res=d*d%mod;
res=res*res%mod;
ll ans=f(n/d)*res%mod*mu(d);
ans=(ans+mod)%mod;
return ans;
}
int main(){
int t;
cin>>t;
while(t--){
int n;
scanf("%d",&n);
ll ans=0;
for(int i=1;1LL*i*i<=n;i++){
if(n%i==0){
ans+=cal(n,i);
if(ans>=mod)ans-=ans/mod*mod;
if(i!=n/i)ans+=cal(n,n/i);
if(ans>=mod)ans-=ans/mod*mod;
}
}
printf("%lld\n",ans);
}
}