#include<stdio.h>
const int maxn=1e7;
int prime[maxn+1];
bool visit[maxn+1];
int E_sieve(int n){
for(int i=0;i<n;i++){
visit[i]=false;
}
for(int i=2;i<=(float)n/i;i++){
if(!visit[i]){
for(int j=i*i;j<n;j+=i){
visit[j]=true;
}
}
}
int k=0;prime[0]=2;
for(int i=2;i<n;i++){
if(!visit[i]){
prime[k++]=i;
}
}
return k;
}
int main(){
int a;
scanf("%d",&a);
int k=E_sieve(a);
for(int i=0;i<k;i++){
printf("%d ",prime[i]);
}
}