N,M = map(int,input().split()) ans = [0 for i in range(N+1)] cnt = 0 for a in range(M+1): for b in range(a+1,M+1): for c in range(b+1,M+1): for d in range(c+1,M+1): t = (a+b+c+d)**2+(a**2+b**2+c**2+d**2) t //= 2 if t<=N: ans[t] += 24 cnt += 1 else: break for a in range(M+1): b = a for c in range(a+1,M+1): for d in range(c+1,M+1): t = (a+b+c+d)**2+(a**2+b**2+c**2+d**2) t //= 2 if t<=N: ans[t] += 12 cnt += 1 else: break for a in range(M+1): for b in range(a+1,M+1): c = b for d in range(b+1,M+1): t = (a+b+c+d)**2+(a**2+b**2+c**2+d**2) t //= 2 if t<=N: ans[t] += 12 cnt += 1 else: break for a in range(M+1): for b in range(a+1,M+1): for c in range(b+1,M+1): d = c t = (a+b+c+d)**2+(a**2+b**2+c**2+d**2) t //= 2 if t<=N: ans[t] += 12 cnt += 1 else: break for a in range(M+1): b = a for c in range(a+1,M+1): d = c t = (a+b+c+d)**2+(a**2+b**2+c**2+d**2) t //= 2 if t<=N: ans[t] += 6 cnt += 1 else: break for a in range(M+1): b = a c = a for d in range(a+1,M+1): t = (a+b+c+d)**2+(a**2+b**2+c**2+d**2) t //= 2 if t<=N: ans[t] += 4 cnt += 1 else: break for a in range(M+1): for b in range(a+1,M+1): c = b d = b t = (a+b+c+d)**2+(a**2+b**2+c**2+d**2) t //= 2 if t<=N: ans[t] += 4 cnt += 1 else: break for a in range(M+1): b,c,d = a,a,a t = (a+b+c+d)**2+(a**2+b**2+c**2+d**2) t //= 2 if t<=N: ans[t] += 1 cnt += 1 else: break print(*ans,sep="\n")