#include<bits/stdc++.h>
long long n,m,a[1000001],b[1000001],s,num,max1;
long long ans;
inline int read()
{
int x=0,f=1;char ch=getchar();
while (ch<'0'||ch>'9'){if (ch=='-') f=-1;ch=getchar();}
while (ch>='0'&&ch<='9'){x=x*10+ch-48;ch=getchar();}
return x*f;
}
bool zhishu(int a){
bool b=true;
for(int i=2;i<=sqrt(a);i++)
{
if(a%i==0)
b=false;
}
return b;
}
using namespace std;
int main(){
n=read();
int len;
for(int i=2;i<=100000;i++){
if(zhishu(i)==1){
a[++len]=i;
}
}
for(int i=1;i<=len;i++){
b[i]=b[i-1]+a[i];
if(b[i]>n)
{
ans=i-1;
break;
}
}
for(int i=1;i<=ans;i++)
cout<<a[i]<<"\n";
cout<<ans;
return 0;
}