#include <bits/stdc++.h>
using namespace std;
int primes[] = {2,  3,  5,  7,  11, 13, 17, 19, 23, 29, 31, 37, 41,
                43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97, 101};
int cnt[25];
int NP, k;
long long bound;
vector<int> a;
void attempt(int cur, long long prod) {
  if (cur == NP) {
    a.push_back(prod);
    return;
  }
  while (prod <= bound) {
    attempt(cur + 1, prod);
    prod *= primes[cur];
  }
}
void gen() {
  a.clear();
  bound = 2LL * k * k;
  attempt(0, 1);
}
int main() {
  srand(7777);
  while (cin >> k) {
    long long bound = 2LL * k * k;
    for (int np = (2), _b = (10); np <= _b; np++) {
      bool foundSolution = false;
      NP = np;
      gen();
      if (a.size() < k) continue;
      while (true) {
        memset(cnt, 0, sizeof cnt);
        for (int p = 0, _a = (np); p < _a; p++) {
          for (int i = 0, _a = (k); i < _a; i++)
            if (a[i] % primes[p] == 0) cnt[p]++;
        }
        bool ok = true;
        for (int i = 0, _a = (NP); i < _a; i++)
          if (cnt[i] && cnt[i] < (k + 1) / 2) {
            ok = false;
            break;
          }
        if (ok) {
          for (int i = 0, _a = (k); i < _a; i++) cout << a[i] << ' ';
          cout << endl;
          foundSolution = true;
          break;
        }
        random_shuffle(a.begin(), a.end());
      }
      if (foundSolution) break;
    }
  }
  return 0;
}
