#pragma GCC optimize("Ofast", "unroll-loops") // #define TEST #define _USE_MATH_DEFINES #include using namespace std; #define ll long long /* bool is_prime(ll p){ for (ll i = 2; i * i <= p; ++i) if (p % i == 0) return false; return true; } */ int main(void){ /*vector prime_lis; ll nx = 100001LL; while (prime_lis.size() < 5){ if (is_prime(nx)) prime_lis.push_back(nx); ++nx; } for (auto pi : prime_lis) cout << pi << ", "; cout << endl;*/ /*vector primes = {100003, 100019, 100043, 100049, 100057}; set nice_numbers; nice_numbers.insert(1LL); for (auto pi1 : primes) for (auto pi2 : primes) nice_numbers.insert(pi1 * pi2); for (auto n : nice_numbers) cout << n << ", ";*/ vector lis = {1LL, 10000600009LL, 10002200057LL, 10003800361LL, 10004600129LL, 10005200147LL, 10006000171LL, 10006200817LL, 10006800931LL, 10007601083LL}; int N; cin >> N; --N; cout << lis[N] << endl; return 0; }