#include <bits/stdc++.h>
using namespace std;
template <typename T>
inline bool chkmin(T &a, const T &b) {
  return a > b ? a = b, 1 : 0;
}
template <typename T>
inline bool chkmax(T &a, const T &b) {
  return a < b ? a = b, 1 : 0;
}
const int oo = 0x3f3f3f3f;
vector<int> ans{1}, pr{2, 3, 5, 7, 11};
int main() {
  int n;
  scanf("%d", &n);
  for (auto p : pr) {
    if ((int((ans).size())) > n) break;
    for (int i = 0; i < (int((ans).size())); ++i)
      if ((long long)ans[i] * p <= 2 * n * n) ans.push_back(ans[i] * p);
  }
  reverse((ans).begin(), (ans).end());
  ans.resize(n);
  for (auto first : ans) printf("%d ", first);
  return 0;
}
