#include <bits/stdc++.h>
using namespace std;
template <class T>
void print(vector<T> a) {
  cout << a[0];
  for (long long i = 1; i < a.size(); ++i) {
    cout << ' ' << a[i];
  }
  cout << "\n";
}
int sum_vector(vector<int> v) { return accumulate(v.begin(), v.end(), 0); }
void sort_vector(vector<int> &v) { sort(v.begin(), v.end()); }
void sort_comp(vector<int> &v, bool func(int, int)) {
  sort(v.begin(), v.end(), func);
}
bool comp(array<long long, 2> a, array<long long, 2> b) { return a[1] < b[1]; }
long long gcd(long long a, long long b) {
  a = abs(a);
  b = abs(b);
  while (a) {
    long long temp = a;
    a = b % a;
    b = temp;
  }
  return abs(b);
}
long long lcm(long long a, long long b) { return (a * b) / gcd(a, b); }
string binary(long long num) {
  string ans = "";
  do {
    ans = to_string(num % 2) + ans;
    num /= 2;
  } while (num);
  return ans;
}
const int mxn = 5e2 + 7;
const int d = 18;
const int mill = 1e6 + 3;
const long long mod = 1e16;
long long pwr(long long num, long long p) {
  long long res = 1;
  while (p > 0) {
    if (p & 1) res = (res * num) % mod;
    num = (num * num) % mod;
    p /= 2;
  }
  return res;
}
long long inverse(long long num) { return pwr(num, mod - 2); }
void solve() {
  long long x;
  cin >> x;
  set<long long> s;
  int c2 = 0, c3 = 0, c5 = 0, c7 = 0, c11 = 0;
  int k, p, m;
  for (int i = 0; i < 30; i++) {
    for (int j = 0; j < 20; j++) {
      for (k = 0; k < 15; k++) {
        for (p = 0; p < 13; p++) {
          for (m = 0; m < 9; m++) {
            if (x < 40 && k != 0) continue;
            if (x < 500 && p != 0) continue;
            if (x < 1500 && m != 0) continue;
            if (i + j + k + p + m == 0) continue;
            if (pwr(2, i) > 2 * x * x) continue;
            if (pwr(3, j) > 2 * x * x) continue;
            if (pwr(5, k) > 2 * x * x) continue;
            if (pwr(7, p) > 2 * x * x) continue;
            if (pwr(11, m) > 2 * x * x) continue;
            if (pwr(2, i) * pwr(3, j) > 2 * x * x) continue;
            if (pwr(5, k) * pwr(7, p) > 2 * x * x) continue;
            if (pwr(5, k) * pwr(7, p) * pwr(11, m) > 2 * x * x) continue;
            if (pwr(2, i) * pwr(3, j) * pwr(5, k) * pwr(7, p) * pwr(11, m) >
                2 * x * x)
              continue;
            s.insert(pwr(2, i) * pwr(3, j) * pwr(5, k) * pwr(7, p) *
                     pwr(11, m));
            if (i) c2++;
            if (j) c3++;
            if (k) c5++;
            if (p) c7++;
            if (m) c11++;
          }
        }
      }
    }
  }
  while (s.size() > x) {
    s.erase(s.begin());
  }
  for (long long num : s) cout << num << "\n";
}
int main() {
  ios_base::sync_with_stdio(0), cin.tie(0);
  int t = 1;
  for (int ii = 1; ii <= t; ii++) {
    solve();
  }
  return 0;
}
