from collections import Counter



N = int(eval(input()))



counter = [0] * 10001

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

    n1 = x * x

    if n1 >= N:

        continue

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

        n2 = n1 + y * y + x * y

        if n2 >= N:

            continue

        for z in range(y, N+1):

            n = n2 + z * z + y * z + z * x

            if 1 <= n <= 10000:

                s = len(Counter([x, y, z]))

                if s == 1:

                    counter[n] += 1

                elif s == 2:

                    counter[n] += 3

                elif s == 3:

                    counter[n] += 6

for i in range(1, N+1):

    print((counter[i]))

N = int(eval(input()))



counter = [0] * 10001

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

    n1 = x * x

    if n1 >= N:

        continue

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

        n2 = n1 + y * y + x * y

        if n2 >= N:

            continue

        for z in range(y, 100+1):

            n = n2 + z * z + y * z + z * x

            if 1 <= n <= 10000:

                if x == y and y == z:

                    counter[n] += 1

                elif x == y or y == z:

                    counter[n] += 3

                else:

                    counter[n] += 6

for i in range(1, N+1):

    print((counter[i]))

from collections import Counter

N = int(eval(input()))
counter = [0] * 10001
for x in range(1, N + 1):
    n1 = x * x
    if n1 >= N:
        continue
    for y in range(x, N + 1):
        n2 = n1 + y * y + x * y
        if n2 >= N:
            continue
        for z in range(y, N + 1):
            n = n2 + z * z + y * z + z * x
            if 1 <= n <= 10000:
                s = len(Counter([x, y, z]))
                if s == 1:
                    counter[n] += 1
                elif s == 2:
                    counter[n] += 3
                elif s == 3:
                    counter[n] += 6
for i in range(1, N + 1):
    print((counter[i]))

N = int(eval(input()))
counter = [0] * 10001
for x in range(1, 100 + 1):
    n1 = x * x
    if n1 >= N:
        continue
    for y in range(x, 100 + 1):
        n2 = n1 + y * y + x * y
        if n2 >= N:
            continue
        for z in range(y, 100 + 1):
            n = n2 + z * z + y * z + z * x
            if 1 <= n <= 10000:
                if x == y and y == z:
                    counter[n] += 1
                elif x == y or y == z:
                    counter[n] += 3
                else:
                    counter[n] += 6
for i in range(1, N + 1):
    print((counter[i]))

-from collections import Counter - -for x in range(1, N + 1): +for x in range(1, 100 + 1): -    for y in range(x, N + 1): +    for y in range(x, 100 + 1): -        for z in range(y, N + 1): +        for z in range(y, 100 + 1): -                s = len(Counter([x, y, z])) -                if s == 1: +                if x == y and y == z: -                elif s == 2: +                elif x == y or y == z: -                elif s == 3: +                else: