n,m=map(int,input().split()) mp=[0]*(n+1) for a in range(m+1): for b in range(m+1): asdf=a*a+a*b+b*b if asdf<=n: mp[asdf]+=1 ans=[0]*(n+1) for i in range(n+1): if mp[i]==0: continue for j in range(n+1-i): if mp[j]: ans[i+j]+=mp[i]*mp[j] for x in ans: print(x) #cses meet in the middle type shit