#include <bits/stdc++.h>
using namespace std;
int p[10] = {2, 3, 5, 7, 11, 13, 17, 19, 23, 29}, lim, k;
vector<int> generate(int x) {
  vector<int> a;
  a.push_back(1);
  int prev = -1;
  while (a.size() <= k && prev != a.size()) {
    int ss = a.size();
    prev = ss;
    for (int k = 0; k < ss; k++) {
      for (int j = 0; j <= x; j++) {
        if (a[k] * p[j] <= lim) a.push_back(a[k] * p[j]);
      }
    }
    sort(a.begin(), a.end());
    a.erase(unique(a.begin(), a.end()), a.end());
  }
  if (a.size() > k)
    return a;
  else {
    vector<int> res(0);
    return res;
  }
}
int main() {
  srand((unsigned int)time(NULL));
  scanf("%d", &k);
  lim = k * k * 2;
  vector<int> cur;
  for (int i = 0; i < 10; i++) {
    cur = generate(i);
    if (cur.size() > k) break;
  }
  for (int i = 1; i <= k; i++) printf("%d ", cur[i]);
  puts("");
}
