#include <bits/stdc++.h>
using namespace std;
int n;
bitset<5005> vis;
vector<long long> prim;
int main() {
  for (int i = 2, j; i < 5005; i++)
    if (!vis[i])
      for (prim.push_back(i), j = i + i; j < 5005; vis[j] = 1, j += i)
        ;
  scanf("%d", &n);
  vector<long long> ordr;
  for (int i = 0; ordr.size() < n; i++) {
    long long p = prim[i];
    ordr.push_back(p);
    for (int j = 0; j < ordr.size(); j++)
      if (p * ordr[j] <= 2LL * n * n) ordr.push_back(p * ordr[j]);
  }
  sort(ordr.begin(), ordr.end());
  set<long long> st;
  for (int i = ordr.size() - 1, j = 1; j <= n; j++, i--) st.insert(ordr[i]);
  for (auto it = st.begin(); it != st.end(); it++) printf("%lld ", *it);
  return 0;
}
