#pragma GCC optimize("Ofast") #pragma GCC target("avx2") #include using namespace std; int N,M; int ans[160001]; main() { scanf("%d%d",&N,&M); for(int a=0;a<=M;a++) { int x=a*a; int b=a,y=x+(a+b)*b; if(y>N)break; { int c=b,z=y+(a+b+c)*c; if(z>N)break; { int d=c,w=z+(a+b+c+d)*d; if(w>N)break; { ans[w]++; } for(int d=c+1,w;d<=M&&(w=z+(a+b+c+d)*d)<=N;d++) { ans[w]+=4; } } for(int c=b+1,z;c<=M&&(z=y+(a+b+c)*c)<=N;c++) { int d=c,w=z+(a+b+c+d)*d; if(w>N)break; { ans[w]+=6; } for(int d=c+1,w;d<=M&&(w=z+(a+b+c+d)*d)<=N;d++) { ans[w]+=12; } } } for(int b=a+1,y;b<=M&&(y=x+(a+b)*b)<=N;b++) { int c=b,z=y+(a+b+c)*c; if(z>N)break; { int d=c,w=z+(a+b+c+d)*d; if(w>N)break; { ans[w]+=4; } for(int d=c+1,w;d<=M&&(w=z+(a+b+c+d)*d)<=N;d++) { ans[w]+=12; } } for(int c=b+1,z;c<=M&&(z=y+(a+b+c)*c)<=N;c++) { int d=c,w=z+(a+b+c+d)*d; if(w>N)break; { ans[w]+=12; } for(int d=c+1,w;d<=M&&(w=z+(a+b+c+d)*d)<=N;d++) { ans[w]+=24; } } } } for(int i=0;i<=N;i++)printf("%d\n",ans[i]); }