#include <bits/stdc++.h>
const int maxn = 10000000 + 10;
const int maxp = 700000;
int a[maxp];
int vis[maxn];
void seize(int n) {
  int m = (int)sqrt(n + 0.5);
  memset(vis, 0, sizeof(vis));
  for (int i = 2; i <= m; i++)
    if (!vis[i])
      for (int j = i * i; j <= n; j += i) vis[j] = 1;
}
int prime(int n) {
  seize(n);
  int c = 0;
  for (int i = 2; i <= n; i++)
    if (!vis[i]) a[c++] = i;
  return c;
}
int main() {
  int i, j, p, t, s;
  t = 10000000;
  s = prime(t);
  while (~scanf("%d", &p)) {
    for (i = 0; i < p - 1; i++) printf("%d ", a[i]);
    printf("%d\n", a[i]);
  }
  return 0;
}
