#include<bits/stdc++.h>
using namespace std;
#define ll  long long
#define ull unsigned long long
#define lld long double
#define pii pair<int,int>
#define pll pair<ll,ll>
#define pb push_back
#define f first
#define s second
#define mk make_pair


/*----------------------DEBUGGER---------------------------*/
#ifndef ONLINE_JUDGE
#define debug(x) cerr << #x <<" "; _print(x); cerr << endl;
#else
#define debug(x)
#endif

void _print(ll t) {cerr << t;}
void _print(int t) {cerr << t;}
void _print(string t) {cerr << t;}
void _print(char t) {cerr << t;}
void _print(lld t) {cerr << t;}
void _print(double t) {cerr << t;}
void _print(ull t) {cerr << t;}

template <class T, class V> void _print(pair <T, V> p);
template <class T> void _print(vector <T> v);
template <class T> void _print(set <T> v);
template <class T, class V> void _print(map <T, V> v);
template <class T> void _print(multiset <T> v);
template <class T, class V> void _print(pair <T, V> p) {cerr << "{"; _print(p.f); cerr << ","; _print(p.s); cerr << "}";}
template <class T> void _print(vector <T> v) {cerr << "[ "; for (T i : v) {_print(i); cerr << " ";} cerr << "]";}
template <class T> void _print(set <T> v) {cerr << "[ "; for (T i : v) {_print(i); cerr << " ";} cerr << "]";}
template <class T> void _print(multiset <T> v) {cerr << "[ "; for (T i : v) {_print(i); cerr << " ";} cerr << "]";}
template <class T, class V> void _print(map <T, V> v) {cerr << "[ "; for (auto i : v) {_print(i); cerr << " ";} cerr << "]";}
/*----------------------DEBUGGER---------------------------*/


int main()
{
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
#ifndef ONLINE_JUDGE
  freopen("input.txt", "r", stdin);
  freopen("output.txt", "w", stdout);
  freopen("error.txt", "w", stderr);
#endif
  int t = 1;
  //cin >> t;
  while (t--)
  {
    int n;
    cin >> n;
    cout << 6 << " " << 15 << " " << 10 << " ";
    int cnt = 0;
    for (int i = 2; i <= 10000; i++)
    {
      if (i == 6 || i == 15 || i == 10)
        continue;
      if (cnt == n - 3)
        break;
      if (__gcd(i, 6) > 1 && __gcd(i, 15) > 1 && __gcd(i, 10) > 1) {
        cout << i << " ";
        cnt++;
      }
    }
  }//while
}//main
#include <bits/stdc++.h>

#define MONKE 0
#define vt(x) vector < x >
#define p(x, y) pair < x, y >
#define M 1000000007
#define fl(i, a, b) for(int i = a; i < b; ++i)
#define fld(i, a, b) for(int i = a; i >= b; --i)

typedef long long ll;
typedef long double ld;

using namespace std;

int main() {
    ios_base::sync_with_stdio(MONKE); //unsync uWu
    cin.tie(MONKE); //cin-cout unsync uWu
    int n;
    cin >> n;
    vector < int > ans(n);
    ans[0] = 6;
    ans[1] = 10;
    ans[2] = 15;
    int num = 18;
    for (int i = 3; i < n; ++i) {
        while ((num % 6) && (num % 10) && (num % 15)) num++;
        ans[i] = num++;
    }
    for (int i = 0; i < n; ++i) cout << ans[i] << " ";
    return MONKE;
}