cat <<'X' int main(){ int p[20]={2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71}@ int N=1048576@ unsigned char *nn=malloc(N)@ int *sm=malloc((long)N*4), *sq=malloc((long)N*4), *d=malloc((long)N*4)@ nn[0]=0@ sm[0]=0@ sq[0]=0@ d[0]=0@ int m@ for(m=1@m!=N@++m){ int lb=m&(-m)@ int k=__builtin_ctz(lb)@ int pm=m^lb@ nn[m]=nn[pm]+1@ sm[m]=sm[pm]+p[k]@ sq[m]=sq[pm]+p[k]*p[k]@ d[m]=nn[m]*sq[m]-sm[m]*sm[m]@ } X