import sys

sys.setrecursionlimit(10**7)
def I(): return int(sys.stdin.readline().rstrip())
def MI(): return map(int,sys.stdin.readline().rstrip().split())
def LI(): return list(map(int,sys.stdin.readline().rstrip().split()))
def LI2(): return list(map(int,sys.stdin.readline().rstrip()))
def S(): return sys.stdin.readline().rstrip()
def LS(): return list(sys.stdin.readline().rstrip().split())
def LS2(): return list(sys.stdin.readline().rstrip())


N,M = MI()

ANS = [0]*(N+1)
for a in range(M+1):
    x = a**2
    if x+9*a**2 > N:
        break
    for b in range(a,M+1):
        y = x+b*(a+b)
        if y+2*a*b+5*b**2 > N:
            break
        for c in range(b,M+1):
            z = y+c*(a+b+c)
            if z+(a+b)*c+2*c**2 > N:
                break
            for d in range(c,M+1):
                w = z+d*(a+b+c+d)
                if w > N:
                    break
                if a == b:
                    if b == c:
                        if c == d:
                            ANS[w] += 1
                        else:
                            ANS[w] += 4
                    else:
                        if c == d:
                            ANS[w] += 6
                        else:
                            ANS[w] += 12
                else:
                    if b == c:
                        if c == d:
                            ANS[w] += 4
                        else:
                            ANS[w] += 12
                    else:
                        if c == d:
                            ANS[w] += 12
                        else:
                            ANS[w] += 24

print(*ANS,sep='\n')