#include <bits/stdc++.h>
typedef long long ll;
typedef long double ld;
using namespace std;
vector<ll> prime_factors(ll num) {
  vector<ll> ans;
  while (num % 2) {
    ans.push_back(2);
    num /= 2;
  }
  for (int i = 3; i * i <= num; i += 2) {
    while (num % i == 0) {
      ans.push_back(i);
      num /= i;
    }
  }
  if (num > 2) ans.push_back(num);
  return ans;
}
const int nax = 1e7 + 1;
bool primes[nax];
void sieve_of_eratosthenes() {
  memset(primes, true, sizeof(primes));
  primes[0] = primes[1] = false;
  for (ll i = 2; i <= 1e7; ++i)
    if (primes[i])
      for (ll j = i * i; j <= 1e7; j += i) primes[j] = false;
}
void tests() {
  int n;
  cin >> n;
  sieve_of_eratosthenes();
  cout << 2 << char(32);
  --n;
  for (int i = 3; n; i += 2)
    if (primes[i]) {
      --n;
      cout << i << char(32);
    }
  cout << char(10);
}
int32_t main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  int t = 1;
  while (t--) {
    tests();
  }
  return 0;
}
