#include using namespace std; #define ll long long #define mod 1000000007LL ll t,n,ans; inline ll rd() { ll x=0;char ch=getchar(); for (;ch<'0'||ch>'9';ch=getchar()); for (;ch>='0'&&ch<='9';ch=getchar()) x=x*10+ch-'0'; return x; } inline ll pls(const ll &x,const ll &y) { return (x+y>=1,x=x*x%mod) if (y&1) res=res*x%mod;return res; } const ll inv2=ksm(2,mod-2); ll p[1000010],miu[1000010],tot; bool bo[1000010]; inline void pre_gao() { miu[1]=1; for (int i=2;i<=1000000;i++) { if (!bo[i]) p[++tot]=i,miu[i]=mod-1; for (int j=1;j<=tot&&i*p[j]<=1000000;j++) { bo[i*p[j]]=true; if (i%p[j]==0) break; miu[i*p[j]]=miu[i]*miu[p[j]]%mod; } } } inline ll calc(ll l,ll r) { return (l+r)%mod*((r-l+1)%mod)%mod*inv2%mod; } inline ll calc(ll n) { ll res=0; for (ll i=1,j;i<=n;i=j+1) { ll hh=n/i;j=n/hh; res=pls(res,calc(i,j)*(hh%mod)%mod); } return res; } inline void work() { n=rd();ans=0; for (ll i=1;i*i<=n;i++) ans=pls(ans,miu[i]*calc(n/i/i)%mod*i%mod); printf("%lld\n",ans); } int main() { t=rd();pre_gao(); while (t--) work(); return 0; }