import sys

import collections



sys.setrecursionlimit(10 ** 8)



input = sys.stdin.readline





def main():

    N = int(eval(input()))



    c = collections.Counter()



    for x in range(1, 101):

        for y in range(1, 101):

            for z in range(1, 101):

                if x * x + y * y + z * z + x * y + y * z + z * x >= 10001:

                    continue

                c[x * x + y * y + z * z + x * y + y * z + z * x] += 1



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

        print((c[i]))





if __name__ == '__main__':

    main()



import sys

import collections



sys.setrecursionlimit(10 ** 8)



input = sys.stdin.readline





def main():

    N = int(eval(input()))



    c = collections.Counter()



    for x in range(1, 101):

        for y in range(1, 101):

            for z in range(1, 101):

                c[x * x + y * y + z * z + x * y + y * z + z * x] += 1



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

        print((c[i]))





if __name__ == '__main__':

    main()



import sys
import collections

sys.setrecursionlimit(10**8)
input = sys.stdin.readline


def main():
    N = int(eval(input()))
    c = collections.Counter()
    for x in range(1, 101):
        for y in range(1, 101):
            for z in range(1, 101):
                if x * x + y * y + z * z + x * y + y * z + z * x >= 10001:
                    continue
                c[x * x + y * y + z * z + x * y + y * z + z * x] += 1
    for i in range(1, N + 1):
        print((c[i]))


if __name__ == "__main__":
    main()

import sys
import collections

sys.setrecursionlimit(10**8)
input = sys.stdin.readline


def main():
    N = int(eval(input()))
    c = collections.Counter()
    for x in range(1, 101):
        for y in range(1, 101):
            for z in range(1, 101):
                c[x * x + y * y + z * z + x * y + y * z + z * x] += 1
    for i in range(1, N + 1):
        print((c[i]))


if __name__ == "__main__":
    main()

-                if x * x + y * y + z * z + x * y + y * z + z * x >= 10001: -                    continue