#include <bits/stdc++.h>
using namespace std;
int n;
long long b;
double res;
const int maxn = 1e7;
bool prime[maxn+1];
vector<long long> v;
void sangnt()
{
memset(prime,true,sizeof prime);
prime[0]=false;
prime[1]=false;
for (int i=2;i*i<=maxn;i++){
if (prime[i]==true){
for (int j=i*i;j<=maxn;j+=i){
prime[j]=false;
}
}
}
}
void chuanbi()
{
for (int i=1;i<=maxn;i++)
{
if (prime[i]==true)
v.push_back(i);
}
}
long long sumprime(long long n) {
long long sum=0;
int dem=0;
for (auto x : v)
{
if (dem==n) break;
sum+=x;
dem++;
}
return sum;
}
int main() {
sangnt();
chuanbi();
freopen("NGUYENTO.INP","r",stdin);
freopen("NGUYENTO.OUT","w",stdout);
cin>>n;
while(n--){
cin>>b;
cout<<sumprime(b)<<endl;
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+Cgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKaW50IG47CmxvbmcgbG9uZyBiOwpkb3VibGUgcmVzOwpjb25zdCBpbnQgbWF4biA9IDFlNzsKYm9vbCBwcmltZVttYXhuKzFdOwp2ZWN0b3I8bG9uZyBsb25nPiB2OwoKdm9pZCBzYW5nbnQoKQp7CiAgIG1lbXNldChwcmltZSx0cnVlLHNpemVvZiBwcmltZSk7CiAgIHByaW1lWzBdPWZhbHNlOwogICBwcmltZVsxXT1mYWxzZTsKICAgZm9yIChpbnQgaT0yO2kqaTw9bWF4bjtpKyspewogICAgICAgIGlmIChwcmltZVtpXT09dHJ1ZSl7CiAgICAgICAgICAgIGZvciAoaW50IGo9aSppO2o8PW1heG47ais9aSl7CiAgICAgICAgICAgICAgICBwcmltZVtqXT1mYWxzZTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgfQp9CnZvaWQgY2h1YW5iaSgpCnsKICAgIGZvciAoaW50IGk9MTtpPD1tYXhuO2krKykKICAgIHsKICAgICAgICBpZiAocHJpbWVbaV09PXRydWUpCiAgICAgICAgdi5wdXNoX2JhY2soaSk7CiAgICB9Cn0KbG9uZyBsb25nIHN1bXByaW1lKGxvbmcgbG9uZyBuKSB7CiAgbG9uZyBsb25nIHN1bT0wOwogIGludCBkZW09MDsKICBmb3IgKGF1dG8geCA6IHYpCiAgewogICAgICBpZiAoZGVtPT1uKSBicmVhazsKICAgICAgc3VtKz14OwogICAgICBkZW0rKzsKICB9CiByZXR1cm4gc3VtOwp9CgoKaW50IG1haW4oKSB7CiAgICBzYW5nbnQoKTsKICAgIGNodWFuYmkoKTsKICAgIGZyZW9wZW4oIk5HVVlFTlRPLklOUCIsInIiLHN0ZGluKTsKICAgIGZyZW9wZW4oIk5HVVlFTlRPLk9VVCIsInciLHN0ZG91dCk7CiAgICBjaW4+Pm47CiAgICB3aGlsZShuLS0pewogICAgICAgIGNpbj4+YjsKICAgICAgICBjb3V0PDxzdW1wcmltZShiKTw8ZW5kbDsKICAgIH0KCiAgcmV0dXJuIDA7Cn0K