#include <bits/stdc++.h>
int isprime[10000000];
void zhishu(int n) {
  int i, j;
  isprime[1] = 0;
  for (i = 2; i <= sqrt(n); i++) {
    if (isprime[i] == 1) {
      j = i + i;
      while (j <= n) {
        isprime[j] = 0;
        j = j + i;
      }
    }
  }
}
int main() {
  int a;
  int i;
  memset(isprime, 1, sizeof(isprime));
  scanf("%d", &a);
  zhishu(a);
  for (i = 1; i <= a; i++) {
    if (isprime[i] == 1) printf("%d ", i);
  }
  return 0;
}
