#include <bits/stdc++.h>
using namespace std;
#define MAX 1000010
bool primes[MAX];
long long primesum[MAX];
void seive(){
memset(primes,0,sizeof(primes));
primes[0]=1;
primes[1]=1;
for(long long i=2;i*i<MAX;i++){
if(!primes[i]){
for(long long j=i*i;j<MAX;j+=i)
primes[j]=1;
}
}
}
void primessum(){
for(int i=0;i<MAX;i++){
primesum[i]=primesum[i-1];
if(!primes[i])
primesum[i]+=i;
}
}
int main() {
// your code goes here
seive();
primessum();
int t;
cin>>t;
while(t--){
int n;
cin>>n;
cout<<primesum[n-1]<<endl;
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiNkZWZpbmUgTUFYIDEwMDAwMTAKYm9vbCBwcmltZXNbTUFYXTsKbG9uZyBsb25nIHByaW1lc3VtW01BWF07CnZvaWQgc2VpdmUoKXsKCW1lbXNldChwcmltZXMsMCxzaXplb2YocHJpbWVzKSk7CglwcmltZXNbMF09MTsKCXByaW1lc1sxXT0xOwoJZm9yKGxvbmcgbG9uZyBpPTI7aSppPE1BWDtpKyspewoJCWlmKCFwcmltZXNbaV0pewoJCQlmb3IobG9uZyBsb25nIGo9aSppO2o8TUFYO2orPWkpCgkJCQlwcmltZXNbal09MTsKCQl9Cgl9Cn0Kdm9pZCBwcmltZXNzdW0oKXsKCWZvcihpbnQgaT0wO2k8TUFYO2krKyl7CgkJcHJpbWVzdW1baV09cHJpbWVzdW1baS0xXTsKCQlpZighcHJpbWVzW2ldKQoJCQlwcmltZXN1bVtpXSs9aTsKCX0KfQppbnQgbWFpbigpIHsKCS8vIHlvdXIgY29kZSBnb2VzIGhlcmUKCXNlaXZlKCk7CglwcmltZXNzdW0oKTsKCWludCB0OwoJY2luPj50OwoJd2hpbGUodC0tKXsKCQlpbnQgbjsKCQljaW4+Pm47CgkJY291dDw8cHJpbWVzdW1bbi0xXTw8ZW5kbDsKCX0KCXJldHVybiAwOwp9