#include #include using namespace std; bool f[5111444]; bool not_prime[5111444]; int main() { int y = 5111443; not_prime[0] = true; not_prime[1] = true; vectorprimes; for (int i = 2; i <= y; i++) { if (not_prime[i])continue; int x = i; bool flag = true; for (int j = 2; j*j <= x; j++) { if (x%j == 0) { flag = false; break; } } if (flag) { for (int j = 2 * i; j <= y; j += i) { not_prime[j] = true; } } } for (int i = 2; i <= y; i++) { if (not_prime[i]==false)primes.push_back(i); } bool flag = true; for (int i = 0; i < primes.size(); i++) { long long a = primes[i]; if (flag && a*a*a > y)flag = false; if (flag)f[a*a*a] = true; for (int j = i + 1; j < primes.size(); j++) { long long b = primes[j]; long long c = a*b; if (c > y)break; f[c] = true; } } int N; cin >> N; int cnt = 0; for (int i = 0; i <= y; i++) { if (f[i]) { cnt++; } if (cnt == N) { cout << i << endl; break; } } return 0; }