#include <bits/stdc++.h>
using namespace std;
const long long N = 5e6 + 100, SN = 1e2, lg = 20, sq = 550, inf = 1e9;
long long p[7] = {2, 3, 5, 7, 11, 13, 17}, k;
void trye(long long x) {
  vector<long long> v;
  v.push_back(1);
  for (long long i = 0; i < x; i++) {
    long long n = v.size();
    for (long long j = 0; j < n; j++) {
      auto u = v[j];
      while (u * p[i] <= 2 * k * k) {
        u *= p[i];
        v.push_back(u);
      }
    }
  }
  if (v.size() < k) return;
  sort((v).begin(), (v).end());
  reverse((v).begin(), (v).end());
  long long it = 0;
  for (auto u : v) {
    if (it == k) break;
    it++;
    cout << u << ' ';
  }
  exit(0);
}
signed main() {
  cin >> k;
  for (long long i = 1; i <= 7; i++) {
    trye(i);
  }
}
