埃筛
//求所有<=n的质数a 埃筛
//证明:设 n=a*b;(a<=b)
//则 a<=sqrt(n)
#include<cstdio>
#include<cmath>
#include<cstring>
using namespace std;
bool prime[100001];
int n;
int main(){
while(scanf("%d",&n)==1){
memset(prime,1,sizeof(prime));
int x=sqrt(n);
for(int i=2;i<=x;i++){
for(int j=i*i;j<=n;j+=i){ //通过这里i*i<=n推出上一行的i的范围
prime[j]=0;
}
}
for(int i=2;i<=n;i++){
if(prime[i]) printf("%d ",i);
}
printf("\n");
}
return 0;
}