#include <bits/stdc++.h>
using namespace std;
int n;
int pcnt = 20;
int prms[] = {2,  3,  5,  7,  11, 13, 17, 19, 23, 29,
              31, 37, 41, 43, 47, 53, 59, 61, 67, 71};
int lim;
vector<int> result;
void dfs(int ind, int remain, int val) {
  if (remain <= 0 && ind == lim) {
    result.push_back(val);
  }
  if (ind >= lim) return;
  long long mul = val;
  dfs(ind + 1, remain, val);
  for (int i = 1; i < 20; i++) {
    mul *= prms[ind];
    if (mul > n * n * 2) break;
    dfs(ind + 1, remain - 1, mul);
  }
}
int main() {
  scanf("%d", &n);
  for (int np = 1; np <= 12; np++) {
    lim = np;
    result.clear();
    dfs(0, (np + 1) * 2 / 3, 1);
    if (result.size() >= n) {
      std::sort(result.begin(), result.end());
      for (int i = (int)result.size() - n; i < result.size(); i++) {
        printf("%d%c", result[i], (i + 1 == result.size()) ? '\n' : ' ');
      }
      break;
    }
  }
  return 0;
}
