- #include <iostream>
- #include <cstring>
- using namespace std;
- const int N = 1e6;
- int prime[N+5];
- bool is_prime[N+5];
- void sieve(void);
- int main()
- {
- sieve();
- int n;
- while (scanf("%d",&n)!=EOF)
- {
- cout << prime[n-1] << endl;
- }
- }
- void sieve()
- {
- int p = 0;
- memset(is_prime,true,sizeof(is_prime));
- is_prime[0] = is_prime[1] = false;
- for (int i=2;i<=N;i++)
- {
- if (is_prime[i])
- {
- prime[p++] = i;
- for (int j=2*i;j<=N;j+=i) is_prime[j] = false;
- }
- }
- }