#include #include #include #include #include #include #include #include #include #include #define rep(i,n) for(int i=0;i=0;i--) #define FOR(i,a,b) for(int i=a;i>n; int *a,*b; a=new int[n]; b=new int[n+1]; rep(i,n){ a[i]=1; b[i]=5555; } a[0]=0; int j=2; while(j*j<=n){ if(a[j-1]==1){ FOR(i,j,n){ if(a[i]==1 && (i+1)%j==0){ a[i]=0; } } } j++; } int c=0; rep(i,n){ if(a[i]==1)c++; } int *d; d=new int [c]; int e=0; rep(i,n){ if(a[i]==1){ d[e]=i+1; e++; } } b[0]=1; b[1]=1; b[2]=0; b[3]=0; int x=2; FOR(i,4,n+1){ rep(j,c){ if(i-d[j]<0){ b[i]=0; break; } if(b[i-d[j]]==0){ //cout<