import sys

def input(): return sys.stdin.readline().strip()

def mapint(): return list(map(int, input().split()))

sys.setrecursionlimit(10**9)



N = int(eval(input()))

from collections import defaultdict

dic = defaultdict(int)

for x in range(1, 101):

    for y in range(1, 101):

        for z in range(1, 101):

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



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

    print((dic[i]))
import sys

def input(): return sys.stdin.readline().strip()

def mapint(): return list(map(int, input().split()))

sys.setrecursionlimit(10**9)



N = int(eval(input()))



ans = [0]*N

for x in range(1, 101):

    for y in range(1, 101):

        for z in range(1, 101):

            val = x**2+y**2+z**2+x*y+y*z+z*x

            if val<=N:

                ans[val-1] += 1



for v in ans:

    print(v)
import sys


def input():
    return sys.stdin.readline().strip()


def mapint():
    return list(map(int, input().split()))


sys.setrecursionlimit(10**9)
N = int(eval(input()))
from collections import defaultdict

dic = defaultdict(int)
for x in range(1, 101):
    for y in range(1, 101):
        for z in range(1, 101):
            dic[x**2 + y**2 + z**2 + x * y + y * z + z * x] += 1
for i in range(1, N + 1):
    print((dic[i]))

import sys


def input():
    return sys.stdin.readline().strip()


def mapint():
    return list(map(int, input().split()))


sys.setrecursionlimit(10**9)
N = int(eval(input()))
ans = [0] * N
for x in range(1, 101):
    for y in range(1, 101):
        for z in range(1, 101):
            val = x**2 + y**2 + z**2 + x * y + y * z + z * x
            if val <= N:
                ans[val - 1] += 1
for v in ans:
    print(v)

-from collections import defaultdict - -dic = defaultdict(int) +ans = [0] * N -            dic[x**2 + y**2 + z**2 + x * y + y * z + z * x] += 1 -for i in range(1, N + 1): -    print((dic[i])) +            val = x**2 + y**2 + z**2 + x * y + y * z + z * x +            if val <= N: +                ans[val - 1] += 1 +for v in ans: +    print(v)