n = int(eval(input()))

for num in range(1,n+1):

    tmp = 0

    th = set([])

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

        for y in range(1,x+1):

            if (4*num-2*x*y-3*(x**2+y**2)) < 0:

                break

            z = ((4*num-2*x*y-3*(x**2+y**2))**0.5-(x+y))/2

            #print('#######N=',num)

            #print(z)

            if z >= 1:

                if z.is_integer():

                    if x**2+y**2+z**2+x*y+y*z+z*x == num:

                        a = [x,y,z]

                        a.sort()

                        a = tuple(a)

                        if a not in th:

                            th.add(a)

                            if x==y and y==z:

                                #print("pl1")

                                tmp += 1

                            elif x!=y and y!=z and z!=x:

                                #print('pl3')

                                tmp += 6

                            else:

                                #print('pl2')

                                tmp += 3

    print(tmp)
n = int(input())

A = [0]*10**7



for x in range(1,100):

    for y in range(1,100):

        for z in range(1,100):

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

                

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

n = int(eval(input()))
for num in range(1, n + 1):
    tmp = 0
    th = set([])
    for x in range(1, int(num**0.5) + 1):
        for y in range(1, x + 1):
            if (4 * num - 2 * x * y - 3 * (x**2 + y**2)) < 0:
                break
            z = ((4 * num - 2 * x * y - 3 * (x**2 + y**2)) ** 0.5 - (x + y)) / 2
            # print('#######N=',num)
            # print(z)
            if z >= 1:
                if z.is_integer():
                    if x**2 + y**2 + z**2 + x * y + y * z + z * x == num:
                        a = [x, y, z]
                        a.sort()
                        a = tuple(a)
                        if a not in th:
                            th.add(a)
                            if x == y and y == z:
                                # print("pl1")
                                tmp += 1
                            elif x != y and y != z and z != x:
                                # print('pl3')
                                tmp += 6
                            else:
                                # print('pl2')
                                tmp += 3
    print(tmp)

n = int(input())
A = [0] * 10**7
for x in range(1, 100):
    for y in range(1, 100):
        for z in range(1, 100):
            A[x**2 + y**2 + z**2 + x * y + y * z + z * x] += 1
print(*A[1 : n + 1], sep="\n")

-n = int(eval(input())) -for num in range(1, n + 1): -    tmp = 0 -    th = set([]) -    for x in range(1, int(num**0.5) + 1): -        for y in range(1, x + 1): -            if (4 * num - 2 * x * y - 3 * (x**2 + y**2)) < 0: -                break -            z = ((4 * num - 2 * x * y - 3 * (x**2 + y**2)) ** 0.5 - (x + y)) / 2 -            # print('#######N=',num) -            # print(z) -            if z >= 1: -                if z.is_integer(): -                    if x**2 + y**2 + z**2 + x * y + y * z + z * x == num: -                        a = [x, y, z] -                        a.sort() -                        a = tuple(a) -                        if a not in th: -                            th.add(a) -                            if x == y and y == z: -                                # print("pl1") -                                tmp += 1 -                            elif x != y and y != z and z != x: -                                # print('pl3') -                                tmp += 6 -                            else: -                                # print('pl2') -                                tmp += 3 -    print(tmp) +n = int(input()) +A = [0] * 10**7 +for x in range(1, 100): +    for y in range(1, 100): +        for z in range(1, 100): +            A[x**2 + y**2 + z**2 + x * y + y * z + z * x] += 1 +print(*A[1 : n + 1], sep="\n")