n = int(input())

ans = [0] * (n + 1)

for x in range(1, int(n**0.5) + 1):

    for y in range(1, int(n**0.5) + 1):

        for z in range(1, int(n**0.5) + 1):

            if x**2 + y**2 + z**2 + x*y + y*z + z*x <= n:

                ans[x**2 + y**2 + z**2 + x*y + y*z + z*x] += 1

print(*ans[1:], sep='\n')

n = int(input())

ans = [0] * (n + 1)

a = [1, 3, 6]

for x in range(1, int(n**0.5) + 1):

    for y in range(x, int(n**0.5) + 1):

        for z in range(y, int(n**0.5) + 1):

            v = x**2 + y**2 + z**2 + x*y + y*z + z*x

            if v <= n:

                ans[v] += a[len(set([x, y, z])) - 1]

print(*ans[1:], sep='\n')

n = int(input())
ans = [0] * (n + 1)
for x in range(1, int(n**0.5) + 1):
    for y in range(1, int(n**0.5) + 1):
        for z in range(1, int(n**0.5) + 1):
            if x**2 + y**2 + z**2 + x * y + y * z + z * x <= n:
                ans[x**2 + y**2 + z**2 + x * y + y * z + z * x] += 1
print(*ans[1:], sep="\n")

n = int(input())
ans = [0] * (n + 1)
a = [1, 3, 6]
for x in range(1, int(n**0.5) + 1):
    for y in range(x, int(n**0.5) + 1):
        for z in range(y, int(n**0.5) + 1):
            v = x**2 + y**2 + z**2 + x * y + y * z + z * x
            if v <= n:
                ans[v] += a[len(set([x, y, z])) - 1]
print(*ans[1:], sep="\n")

+a = [1, 3, 6] -    for y in range(1, int(n**0.5) + 1): -        for z in range(1, int(n**0.5) + 1): -            if x**2 + y**2 + z**2 + x * y + y * z + z * x <= n: -                ans[x**2 + y**2 + z**2 + x * y + y * z + z * x] += 1 +    for y in range(x, int(n**0.5) + 1): +        for z in range(y, int(n**0.5) + 1): +            v = x**2 + y**2 + z**2 + x * y + y * z + z * x +            if v <= n: +                ans[v] += a[len(set([x, y, z])) - 1]