#include #include using namespace std; #define MAX_PRIME 164000 #define MAX_INDEX 30000 vector sieve( ) { int n = MAX_PRIME, j = 1; vector prime (n+1, true); vector res (MAX_INDEX+2, 0); prime[0] = prime[1] = false; for (int i=2; i<=n; ++i) if (prime[i]) if (i * 1ll * i <= n) for (int j=i*i; j<=n; j+=i) prime[j] = false; for( unsigned int i = 0; i < prime.size(); i++ ) if( prime[i] ) res[j++] = i; return res; } int main( void ) { vector primes = sieve(); int N, i; scanf( "%d", &N ); while( N-- ) { scanf( "%d", &i); printf( "%d\n", primes[i]); } return 0; }