#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
#define N 3000000
//bool prime[N];
//int primes[N];
//int semiprimes[2000005];
int main()
{
bool* prime = new bool[N];
int* primes = new int[N];
int* semiprimes = new int[2000005];
for(int i=0; i < N ; i++) prime[i] = true;
int cnt = 0;
for(int i=2 ; i < N ; i++)
{
if(prime[i])
{
primes[cnt++] = i;
for(int j = i; j < N ; j+= i)
prime[j] = false;
}
}
// printf("%d\n",primes[cnt-1]);
//for(int i = 0; i < 50 ; i++) printf("%d\n",primes[i]);
int i, j, k = 1;
int p, q, current_limit;
int target = 2000000;
for (i = 0, p = primes[i]; p < target; i++)
{
current_limit = target/p;
for (j = i + 1, q = primes[j]; q <= current_limit; j++)
{
k++;
semiprimes[k++] = p*q;
}
}
printf("%d\n",k);
int t;
scanf("%d",&t);
int n;
while(t--)
{
scanf("%d",&n);
printf("%d\n",semiprimes[n]);
}
delete[] prime;
delete[] semiprimes;
delete[] primes;
return 0;
}
I2luY2x1ZGU8Y3N0ZGlvPgojaW5jbHVkZTxjc3RyaW5nPgojaW5jbHVkZTxhbGdvcml0aG0+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiNkZWZpbmUgTiAzMDAwMDAwCgovL2Jvb2wgcHJpbWVbTl07Ci8vaW50IHByaW1lc1tOXTsKLy9pbnQgc2VtaXByaW1lc1syMDAwMDA1XTsKaW50IG1haW4oKQp7CgogICAgYm9vbCogcHJpbWUgPSBuZXcgYm9vbFtOXTsKICAgIGludCogcHJpbWVzID0gbmV3IGludFtOXTsKICAgIGludCogc2VtaXByaW1lcyA9IG5ldyBpbnRbMjAwMDAwNV07CgogICAgZm9yKGludCBpPTA7IGkgPCBOIDsgaSsrKSBwcmltZVtpXSA9IHRydWU7CiAgICBpbnQgY250ID0gMDsKICAgIGZvcihpbnQgaT0yIDsgaSA8IE4gOyBpKyspCiAgICB7CiAgICAgICAgaWYocHJpbWVbaV0pCiAgICAgICAgewoKICAgICAgICAgICAgcHJpbWVzW2NudCsrXSA9IGk7CiAgICAgICAgICAgIGZvcihpbnQgaiA9IGk7IGogPCBOIDsgais9IGkpCiAgICAgICAgICAgICAgICBwcmltZVtqXSA9IGZhbHNlOwogICAgICAgIH0KICAgIH0KCgogICAvLyBwcmludGYoIiVkXG4iLHByaW1lc1tjbnQtMV0pOwoKICAgIC8vZm9yKGludCBpID0gMDsgaSA8IDUwIDsgaSsrKSBwcmludGYoIiVkXG4iLHByaW1lc1tpXSk7CgogICAgaW50IGksIGosIGsgPSAxOwogICAgaW50IHAsIHEsIGN1cnJlbnRfbGltaXQ7CiAgICBpbnQgdGFyZ2V0ID0gMjAwMDAwMDsKICAgIGZvciAoaSA9IDAsIHAgPSBwcmltZXNbaV07IHAgPCB0YXJnZXQ7IGkrKykKICAgIHsKICAgICAgICBjdXJyZW50X2xpbWl0ID0gdGFyZ2V0L3A7CiAgICAgICAgZm9yIChqID0gaSArIDEsIHEgPSBwcmltZXNbal07IHEgPD0gY3VycmVudF9saW1pdDsgaisrKQogICAgICAgIHsKICAgICAgICAgICAgaysrOwogICAgICAgICAgICBzZW1pcHJpbWVzW2srK10gPSBwKnE7CiAgICAgICAgfQoKICAgIH0KICAgIHByaW50ZigiJWRcbiIsayk7CgoKICAgIGludCB0OwoKICAgIHNjYW5mKCIlZCIsJnQpOwogICAgaW50IG47CiAgICB3aGlsZSh0LS0pCiAgICB7CiAgICAgICAgc2NhbmYoIiVkIiwmbik7CiAgICAgICAgcHJpbnRmKCIlZFxuIixzZW1pcHJpbWVzW25dKTsKICAgIH0KCiAgICBkZWxldGVbXSBwcmltZTsKICAgIGRlbGV0ZVtdIHNlbWlwcmltZXM7CiAgICBkZWxldGVbXSBwcmltZXM7CgoKICAgIHJldHVybiAwOwp9CgoKCg==