#include <stdio.h> #include<math.h> int sushu(int a){ if(a==2){return 1;} for(int i=2;i<=sqrt(a);i++){ if(a%i==0){return 0;} } return 1; } //判断个位为1 int gewei(int a){ if(a%10==1){ return 1; } return 0; } int main() { int n; while (scanf("%d", &n) != EOF) { int count=0; int num[n+1];//1非素数。0素数 for(int i=0;i<n+1;i++){ num[i]=0; } num[0]=1; num[1]=1; int result[10000]; for(int i=2;i<n;i++){ if(num[i]==1){continue;}//非素数,跳过 if(sushu(i)){ //所有倍数都为非素数 int beishu=i; int b=1; while(beishu<n){ num[i*b]=1;//非素数 b++; beishu=i*b; } } if(gewei(i)==1&&sushu(i)==1){ result[count++]=i; } } if(count==0){printf("%d",-1);} for(int k=0;k<count;k++){ if(k==0){printf("%d",result[0]);} else printf(" %d",result[k]); } printf("\n"); } return 0; }