#include<bits/stdc++.h>
using namespace std;
bitset<10000010> vk;
__int128 tot=0,prime[10000010],mky[10000010];
void prepare(){
mky[1]=1;
for(int i=2; i<=1e7; ++i){
if(!vk[i]) prime[++tot]=i,mky[i]=-1;
for(__int128 j=1; j<=tot && i*prime[j]<=1e7; ++j){
vk[i*prime[j]]=1;
if(i%prime[j]==0){
mky[i*prime[j]]=0;
break;
}
mky[i*prime[j]]=-mky[i];
}
}
}
__int128 n;
__int128 uans(int n){
__int128 ans=0,sqr=sqrt(n);
for(__int128 i=1; i<=sqr; ++i) ans+=(n/i)*i+(__int128)(n/i)*(n/i+1)/2;
return ans-(__int128)sqr*(sqr+1)/2*sqr;
}
__int128 read(){
__int128 s=0,f=1;char ch=getchar();
while(!isdigit(ch)){
if(ch=='-') f=-1;
ch=getchar();
}
while(isdigit(ch))
s=s*10+ch-'0',ch=getchar();
return s*f;
}
void write(__int128 x) {
if(x<0) putchar('-'),x=-x;
if(x>9) write(x/10);
putchar(x%10+'0');
}
int main(){
prepare();
__int128 t;
t=read();
while(t--){
n=read();
long double p=n;
__int128 tmp=sqrt(p),ans=0;
for(__int128 i=1; i<=tmp; ++i)
ans+=mky[i]*i*uans(n/i/i);
write(ans);
cout<<endl;
}
return 0;
}