#include #include #include #include using namespace std; #define FOR(i, begin, end) for(int i=(begin),i##_end_=(end);i> N; // const int B = N; // int last_p = 5; // vector ps{1,3,7,17,37,79,163,331,673,1361,2729,5471,10949,21911,43853,87719,175447,350899,701819,1403641,2807303,5614657,11229331,22458671,44917381}; vector ps{5,7,11,17,29,43,67,101,151,227,347,521,787,1181,1777,2671,4007,6011,9029,13553,20333,30509,45763,68659,103001}; // vector ps; // ps.push_back(last_p); // REP(_, N - 1) { // // int next_p = sieve.primes.at(argub(sieve.primes, last_p * 2)); // int next_p = sieve.primes.at(arglb(sieve.primes, int(last_p * 1.5))); // dbg(next_p); // ps.push_back(next_p); // // dbg(next_p); // // ret.push_back(next_p << (B - 1 - _)); // last_p = next_p; // } reverse(ps.begin(), ps.end()); vector ret(N); REP(i, N) ret.at(i) = (ps.at(i) << (i)); vector ls; REP(i, N - 1) ls.push_back(std::lcm(ret.at(i), ret.at(i + 1))); REP(i, N) cout << ret.at(i) << ' '; cout << '\n'; }