#include <bits/stdc++.h>
using namespace std;
template <class T>
void debug(T a, T b) {
  ;
}
template <class T>
void chmin(T& a, const T& b) {
  if (a > b) a = b;
}
template <class T>
void chmax(T& a, const T& b) {
  if (a < b) a = b;
}
namespace std {
template <class S, class T>
ostream& operator<<(ostream& out, const pair<S, T>& a) {
  out << '(' << a.first << ',' << a.second << ')';
  return out;
}
}  // namespace std
long long int readL() {
  long long int res;
  scanf("%I64d", &res);
  return res;
}
void printL(long long int res) { printf("%I64d", res); }
int k;
int maxfactor(int a) {
  int res = 1;
  for (int i = 2; i * i <= a; ++i)
    if (a % i == 0) {
      while (a % i == 0) a /= i;
      res = i;
    }
  if (a > 1) res = a;
  return res;
}
bool isprm(int a) {
  if (maxfactor(a) == a) return true;
  return false;
}
vector<int> cand[1 << 5];
int prm[5] = {2, 3, 5, 7, 11};
int main() {
  for (int i = 0; i < (1 << 5); ++i) cand[i].clear();
  cin >> k;
  vector<int> canuse;
  canuse.push_back(1);
  int m = 0;
  for (int i = 2;; ++i)
    if (isprm(i)) {
      for (int j = 0; j < (canuse.size()); ++j)
        if (canuse[j] * (long long int)i <= 2 * k * k) {
          canuse.push_back(canuse[j] * i);
        }
      ++m;
      if (canuse.size() >= k) {
        break;
      }
    }
  sort((canuse).begin(), (canuse).end());
  for (int i = 0; i < (canuse.size()); ++i) {
    int bit = 0;
    for (int j = 0; j < (5); ++j)
      if (canuse[i] % prm[j] == 0) bit |= (1 << j);
    cand[bit].push_back(canuse[i]);
  }
  int cap = k;
  vector<int> ans;
  int cnt[5] = {0};
  for (int i = m; i >= 0; --i) {
    for (int j = 0; j < (1 << m); ++j)
      if (__builtin_popcount(j) == i) {
        int num = min(cap, (int)cand[j].size());
        cap -= num;
        for (int k = 0; k < (m); ++k)
          if (j >> k & 1) cnt[k] += num;
        for (int k = 0; k < (num); ++k) ans.push_back(cand[j][k]);
        if (cap == 0) {
          for (int i = 0; i < (k); ++i)
            printf("%d%c", ans[i], i == k - 1 ? '\n' : ' ');
          return 0;
        }
      }
  }
  return 0;
}
