#define _CRT_SECURE_NO_WARNINGS #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; #define Ma_PI 3.141592653589793 #define eps 0.00000001 #define LONG_INF 3000000000000000000 #define GOLD 1.61803398874989484820458 #define MAX_MOD 1000000007 #define REP(i,n) for(long long i = 0;i < n;++i) #define seg_size 524288 using namespace std; vector geko = vector({ 2,460011,951143,1453467,1963817,2478478,2998839,3522473,4049561,4578583,5111443 }); int main() { long long cnt = 0; cin >> cnt; if (cnt % 100000 == 0) { cout << geko[cnt / 100000] << endl; return 0; } long long topper = cnt % 100000; for (int i = geko[cnt/100000]+1; i >= 0; ++i) { int now = i; long long nya = 1; for (int q = 2; q <= sqrt(now); ++q) { if (now % q == 0) { int cnt = 0; while (now % q == 0&&cnt <= 2) { cnt++; now /= q; } nya *= cnt + 1; if (nya >= 5) break; } } if (now != 1) { nya *= 2; } if (nya == 4) { topper--; if (topper == 0) { cout << i << endl; return 0; } } } }