peterverebics/CodeNet_Python_118 huggingface dataset:
n = int(input())
ans = [0] * n

cnt = 0
for x in range(1, 100):
  for y in range(1, 100):
    for z in range(1, 100):
      f = x ** 2 + y ** 2 + z ** 2 + x * y + y * z + z * x
      if f <= n:
        ans[f - 1] += 1
ans.append(cnt)

for j in range(n):
  print(ans[j])
n = int(input())

def main():
    ans = [0]*(n+1)
    for x in range(1, 101):
        for y in range(1, 101):
            for z in range(1, 101):
                fn = x**2 + y**2 + z**2 + x*y + y*z + z*x
                if fn > n:
                    break
                else:
                    ans[fn] += 1

    for i in range(1, n+1):
        print(ans[i])

if __name__ == '__main__':
    main()
#!/usr/bin/env python3

N = int(input())

Ret = [0 for _ in range(10**5)]

for i in range(1, 101):
    for j in range(1, 101):
        for k in range(1, 101):
            r = i**2 + j**2 + k**2 + i*j + j*k + i*k
            Ret[r] += 1

for r in Ret[1:N+1]:
    print(r)
n = int(input())
li = [0]*(10001)
for x in range(1, 101):
    for y in range(1, 101):
        for z in range(1, 101):
            tmp = x*x+y*y+z*z+x*y+y*z+z*x
            if tmp>10000:
                continue
            li[tmp] += 1
for i in range(1, n+1):
    print(li[i])
f = lambda x, y, z: (x + y + z) ** 2 - x * y - y * z - z * x - 1

n = int(input())
a = [0] * n
z = 1
while f(1, 1, z) < n:
  y = 1
  while f(1, y, z) < n:
    x = 1
    while f(x, y, z) < n:
      a[f(x, y, z)] += 1
      x += 1
    y += 1
  z += 1
print(*a, sep='\n')
n = int(input())
A = [0] * n

for x in range(1,100):
    for y in range(1,100):
        for z in range(1,100):
            if x**2 + y**2 + z**2 + x*y + y*z + z*x <= n:
                A[x**2 + y**2 + z**2 + x*y + y*z + z*x - 1] += 1
            else:
                break

for ans in A:
    print(ans)
n=int(input())
ans = [0 for _ in range(10050)]
for i in range(1,105):
	for j in range(1,105):
		for k in range(1,105):
			v = i*i+j*j+k*k+i*j+j*k+k*i;
			if v<10050:
				ans[v]+=1

for i in range(n):
	print(ans[i+1])
import sys
def rs(): return sys.stdin.readline().rstrip()
def ri(): return int(rs())
def rs_(): return [_ for _ in rs().split()]
def ri_(): return [int(_) for _ in rs().split()]

N = ri()
f = [0] * N
for x in range(1,100+1):
    for y in range(1, 100+1):
        for z in range(1, 100+1):
            h = x**2 + y**2 + z**2 + x*y + y*z + z*x
            if h > N:
                continue
            f[h - 1] += 1
for i in range(N):
    print(f[i])
import sys
input = sys.stdin.readline


N=int(input())

ANS=[0]*(10**5+1)

for x in range(1,10**2+1):
    for y in range(1,10**2+1):
        for z in range(1,10**2+1):
            ANS[x*x+y*y+z*z+x*y+y*z+z*x]+=1

print(*ANS[1:N+1])
N=int(input())
A=[0]*N
for x in range(1,101):
  for y in range(1,101):
    for z in range(1,101):
      if x**2+y**2+z**2+x*y+y*z+z*x<=N:
        A[x**2+y**2+z**2+x*y+y*z+z*x-1]+=1
for i in range(N):
  print(A[i])
n = int(input())
L = [0 for i in range(10**4+1)]
for x in range(1, 100):
    for y in range(1, 100):
        for z in range(1, 100):
            r = x**2 + y**2 + z**2 + x*z + x*y + z*y
            if r <= 10000:
                L[r] += 1
for i in range(1, n+1):
    print(L[i])
n = int(input())
count = 0
a = [0]*(10**5)
for i in range(1, 100):
  for j in range(1, 100):
    for k in range(1, 100):
      a[(i+j+k)**2-(i*j+j*k+i*k)] += 1


for i in range(n):
  print(a[i+1])
from math import sqrt
n = int(input())
sqn_int = int(sqrt(n))
a = [0] * n
for x in range(1, 1 + sqn_int):
    for y in range(1, 1 + sqn_int):
        for z in range(1, 1 + sqn_int):
            left = x**2 + y**2 + z**2 + x*y + y*z + z*x
            if left <= n:
                a[left - 1] += 1
for i in a[:n]:
    print(i)
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(input())
cnt = [0] * 10001

for x in range(1,100):
    for y in range(1,100):
        for z in range(1,100):
            value = x*x + y*y + z*z + x*y + y*z + z*x
            if value <= 10000:
                cnt[value] += 1
for i in range(1,N+1):
    print(cnt[i])
'''Author- Akshit Monga'''
list=[0 for i in range(10**4+1)]
for x in range(1,100):
    for y in range(1,100):
        for z in range(1,100):
            var=x**2 +y**2 +z**2 +x*y +y*z +z*x
            if var<=10**4:
                list[var]+=1
            
n=int(input())
for i in range(1,n+1):
    print(list[i])
from itertools import permutations
from functools import reduce

n = int(input())

rn = int(n **.5) + 1

ptn = permutations([i for i in range(1, rn + 1)], 3)

ans = [0] * (n + 1)
for i in range(1, rn + 1):
  for j in range(1, rn + 1):
    for k in range(1, rn + 1):
      idx = i**2 + j**2 + k**2 + i*j + j*k + k*i
      if idx <= n: 
        ans[i**2 + j**2 + k**2 + i*j + j*k + k*i] += 1

for an in ans[1:]:
  print(an)
n = int(input())
ans = [0 for _ in range(10050)]
for i in range(1, 105):
  for j in range(1, 105):
    for k in range(1, 105):
      v = i * i + j * j + k * k + i * j + j * k + k * i
      if v < 10050:
        ans[v] += 1

for i in range(n):
  print(ans[i + 1])
N = int(input())
chk = [0] * (10 ** 4 + 2)
for i in range(1, 100):
    for j in range(1, 100):
        for k in range(1, 100):
            a = i**2 + j**2 + k**2 + i*j + j*k + i*k
            if a > 10001:
                break
            chk[a] += 1
for i in range(N):
    print(chk[i+1])
N = int(input())
num = [0]*N
for i in range(1,10**2 + 1):
    for j in range(1,10**2 + 1):
        for k in range(1,10**2 + 1):
            ans = i**2 + j**2 + k**2 + i*j + j*k + k*i
            if ans <= N:
                num[ans - 1] += 1
for i in range(N):
    print(num[i])
import itertools
import collections



N = int(input())
count = [0]*N*100
m = int(N**0.5)
for x, y, z in itertools.combinations_with_replacement(range(1, m+1), 3):
  n = x**2+y**2+z**2+x*y+y*z+z*x
  k = len(set({x, y, z}))
  if k == 1:
    count[n] += 1
  elif k == 2:
    count[n] += 3
  else:
    count[n] += 6

for n in range(1, N+1):
  print(count[n])
from collections import defaultdict
ans = defaultdict(int)
N = int(input())

for i in range(1, 100):
    for j in range(1, 100):
        for k in range(1, 100):
            ans[i*i+j*j+k*k+i*j+j*k+k*i] += 1
for i in range(N):
    print(ans[i+1])
n=int(input())
l=[0]*10**7
s=int(n**0.65)+1
for x in range(1,s):
    for y in range(1,s-x):
        for z in range(1,s-x-y):
            l[x*x+y*y+z*z+x*y+y*z+z*x-1]+=1
for i in range(n):
    print(l[i])
N = int(input())
from itertools import product

count_dic = {i: 0 for i in range(1, N+1)}
def func(x, y, z):
    return x**2 + y**2 + z**2 + x*y + y*z + z*x

for x, y, z in list(product(range(1, 101), repeat=3)):
    res = func(x, y, z)
    if res > N:
        continue
    count_dic[res] += 1

for i in range(1, N+1):
    print(count_dic[i])
n=int(input())
ans = [0]*10050
for i in range(1,105):
    for j in range(1,105):
        for k in range(1,105):
            v = i*i + j*j + k*k + i*j + i*k + j*k
            if v<10050:
                ans[v]+=1
for i in range(1,n+1):
    print(ans[i])
n = int(input())
ans = [0 for _ in range(10050)]
for i in range(1, 105):
    for j in range(1, 105):
        for k in range(1, 105):
            v = i * i + j * j + k * k + i * j + j * k + k * i
            if v < 10050:
                ans[v] += 1

for i in range(n):
    print(ans[i + 1])
n = int(input())
ans = [0 for a in range(10050)]


for i in range(1,105):
  for j in range(1,105):
    for k in range(1,105):
      v = i*i+j*j+k*k+i*j+j*k+k*i;
      
      if v<10050:
        ans[v]+=1

for i in range(n):
  print(ans[i+1])
def main():
  ans = [0] *100000
  for i in range(1,  101):
    for j in range(1, 101):
      for k in range(1, 101):
        ans[i**2 + j**2 + k**2 + i*j + j*k + k*i-1] +=1
  n = int(input())
  for i in range(n):
    print(ans[i])
  
if __name__ == "__main__":
  main()
n=int(input())

ans=[0]*(n+1)
for x in range(1,int(n**0.5)+2):
    for y in range(1,int(n**0.5)+2):
        for z in range(1,int(n**0.5)+2):
            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 item in ans[1:]:
    print(item)
n=int(input())
a = [0]*(20000)
for i in range(1,101):
    for j in range(1,101):
        for k in range(1,101):
            if i**2+j**2+k**2 >= n:
                break
            a[i**2+j**2+k**2+i*j+j*k+i*k]+=1
for i in range(1,n+1):
    print(a[i])
n=int(input())
r=range(1,100)
l=[0]*n
for x in r:
  for y in r:
    for z in r:
      t=x*x+y*y+z*z+y*z+z*x+x*y-1
      if t<n: l[t]+=1
for i in l: print(i)
import sys
input = lambda: sys.stdin.readline().rstrip("\r\n")

n = int(input())

ans = [0]*10**5

for i in range(1, 101):
    for j in range(1, 101):
        for k in range(1, 101):
            ans[i**2 + j**2 + k**2 + i*j + j*k + k*i] += 1
print(*ans[1:n + 1], sep='\n')
import math
N = int(input())

ans = [0 for _ in range(10050)]


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
            if  a < 10050:
                ans[a] +=1

for i in range(N):
    print(ans[i+1])
N=int(input())
count=[0]*(N+1)
for x in range(1,100):
  for y in range(1,100):
    for z in range(1,100):
      n=x*x+y*y+z*z+x*y+y*z+z*x
      if(n<=N):
        count[n]+=1
for i in range(1,N+1):
  print(count[i])
N = int(input())
ans = [0]*(N+1)
for x in range(1,101):
    for y in range(1,101):
        for z in range(1,101):
            n = x*x + y*y + z*z + x*y + y*z + z*x
            if n <= N:
                ans[n] += 1
print(*ans[1:], sep='\n')
import sys

sys.setrecursionlimit(10 ** 7)

read = sys.stdin.buffer.read
readline = sys.stdin.buffer.readline
readlines = sys.stdin.buffer.readlines

N = int(input())

CNT = [0] * 10010
for x in range(1, 101):
    for y in range(1, 101):
        for z in range(1, 101):
            f = x ** 2 + y ** 2 + z ** 2 + x * y + y * z + z * x
            if f > N:
                continue

            CNT[f] += 1

for i in range(1, N + 1):
    print(CNT[i])
import math

n = int(input())
ans = [0]*n
root = n ** 0.5

for x in range(1, math.floor(root) + 1):
    for y in range(1, math.floor(root) + 1):
        for z in range(1, math.floor(root) + 1):
            result = x ** 2 + y ** 2 + z ** 2 + x * y + y * z + z * x
            if result <= n:
                ans[result - 1] += 1

for num in ans:
    print(num)
N=int(input())
ans=[0]*10001

for x in range(1,101):
    for y in range(1,101):
        for z in range(1,101):
            tmp=x**2+y**2+z**2
            tmp+=x*y+y*z+z*x
            if tmp<=N:
                ans[tmp]+=1
                
for i in range(1,N+1):
    print(ans[i])
N = int(input())
ans = [0] * (N + 1)   

for i in range(1, 100):
    for j in range(1, 100):
        for k in range(1, 100):
            a = i**2 + j**2 + k**2 + i*j + j*k + k*i
            if a <= N:
                ans[a]+=1
                
for i in range(1, N+1):
    print(ans[i])
def main():
    N = int(input())
    ans = [0 for _ in range(10005)]

    for i in range(1,100):
        for j in range(1,100):
            for k in range(1,100):
                v = i**2 + j**2 + k**2 + i*j + j*k + k*i
                if v < 10005:
                    ans[v]+=1
    for i in range(1,N+1):
        print(ans[i])

if __name__ == "__main__":
    main()
#!/usr/bin/env python3

n = int(input())

list_ = [0]*(10**4)
for x in range(1, 105):
    for y in range(1, 105):
        for z in range(1, 105):
            a = x**2+y**2+z**2+x*y+y*z+z*x
            if a <= 10**4:
                list_[a-1] += 1

for i in range(n):
    print(list_[i])
n = int(input())
ans=[0]*(n+1)
for x in range(1, 101):
    for y in range(1, 101):
        for z in range(1, 101):
            a = x * x + y * y + z * z + x * y + y * z + z * x
            if n >= a >= 1:
                ans[a] += 1
print(*ans[1:],sep="\n")
N = int(input())

from collections import deque
tmp = []
tmp = deque(tmp)
num = [0]*(10**4*7)
for i in range(1,10**2+1):
    tmp.append(i**2)

for x in tmp:
    xx = int(x**0.5)
    for y in tmp:
        yy = int(y**0.5)
        for z in tmp:
            zz = int(z**0.5)
            ans = x + y + z + xx*yy + yy*zz + zz*xx
            num[ans] += 1
            
for i in range(1,N+1):
    print(num[i])
N=int(input())
r=[0]*N
from itertools import product
for x,y,z in product(range(1,100),repeat=3):
    p=x*x+y*y+z*z+x*y+y*z+z*x
    if 0<p<=N:
        r[p-1]+=1
print(*r,sep='\n')
def main_v2():
    N = int(input())
    f_list = [0 for _ in range(N)]

    for x in range(1, 101):
        for y in range(1, 101):
            for z in range(1, 101):
                ans = x*x + y*y + z*z + x*y + y*z + z*x
                if ans <= N:
                    f_list[ans - 1] += 1

    for i in range(N):
        print(f_list[i])


if __name__ == "__main__":
    main_v2()
import math
N = int(input())
S = [0]*N
lim = math.sqrt(N)
lim = math.floor(lim)
for i in range(1,lim):
  for j in range(1,lim):
    for k in range(1,lim):
        temp = int(i**2+ j**2 + k**2 + i*j + j*k + k*i)
        if temp <N+1:
          S[temp-1] += 1
for i in range(N):
  print(S[i])
n = int(input())
a = [0] * (n + 1)
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
            if c <= n:
                a[c] +=1
            else:
                break
for i in a[1:]:
    print(i)
n=int(input())

ans=[0]*(n+1)
r=int(n**0.5)+1

for x in range(1,r):
    for y in range(1,r):
        for z in range(1,r):
            t=x**2+y**2+z**2+x*y+y*z+z*x
            if t <= n:
                ans[t]+=1

for i in ans[1:]:
    print(i)
n=int(input())+1
table0=[0]*10001
for x in range(1,101):
  for y in range(1,101):
    for z in range(1,101):
      r=x*x+y*y+z*z+x*y+y*z+x*z
      if r<n:
        table0[r]+=1
for i in range(1,n):
  print(table0[i])
n = int(input())

ans = [0 for i in range(n)]
for x in range(1,100):
    for y in range(1,100):
        for z in range(1,100):
            n_2 = x ** 2 + y ** 2 + z ** 2 + x*y + x*z + y*z
            if n_2 > int(len(ans)):
                continue
            ans[n_2-1] += 1

for i in range(n):
    print(ans[i])
import math
N = int(input())
fn = {i+1:0 for i in range(N)}
rtN = int(math.sqrt(N))+1

def n(x,y,z):
    return x**2 + y**2 + z**2 + x*y + y*z + z*x

for x in range(1, rtN):
    for y in range(1, rtN):
        for z in range(1, rtN):
            n_ = n(x,y,z)
            try:
                fn[n_] += 1
            except KeyError:
                pass

for k in fn.values():
    print(k)
n = int(input())

ans = [0 for _ in range(n)]

for x in range(1, 101):
    if x*x > n:
        break
    for y in range(1, 101):
        if x*x + y*y + x*y > n:
            break
        for z in range(1, 101):
            a = x*x + y*y + z * z + x*y + y*z + z*x
            if a > n:
                break
            ans[a-1] += 1

for a in ans:
    print(a)
N = int(input())
cnt = [0] * (N + 1)

for x in range(1,100):
    for y in range(1,100):
        for z in range(1,100):
            check = x*x + y*y + z*z + x*y + y*z + z*x
            if check <= N:
                cnt[check] += 1
            else:
                break

for i in range(1,N+1):
    print(cnt[i])
N = int(input())

N_MAX = 10 ** 4
cnt = [0] * (N_MAX + 1)

for x in range(1, N + 1):
    if x ** 2 > N:
        break
    for y in range(1, N + 1):
        if x ** 2 + y ** 2 + x * y > N:
            break
        for z in range(1, N + 1):
            a = x ** 2 + y ** 2 + z ** 2 + x * y + y * z + x * z
            if a > N:
                break
            cnt[a] += 1

for i in range(1, N + 1):
    print(cnt[i])
N = int(input())
MAX = 10**4
ANS = [0]*(MAX+1)

for x in range(1, 101):
  for y in range(1, 101):
    for z in range(1, 101):
      k = x**2+y**2+z**2+x*y+y*z+z*x
      if(k <= MAX):
        ANS[k] += 1

for i in range(1, N+1):
  print(ANS[i])
n = int(input())
ans = [0 for _ in range(10050)]
for i in range(1,105):
         for j in range(1,105):
                  for k in range(1,105):
                           v = i*i+j*j+k*k+i*j+j*k+k*i;
                           if v<10050:
                                    ans[v]+=1
for i in range(n):
         print(ans[i+1])
N=int(input())
f=[0]*N
for x in range(1,100):
    for y in range(1,100):
        for z in range(1,100):
            n=x**2+y**2+z**2+x*y+y*z+z*x
            if n<=N:
                f[n-1]+=1
print(*f,sep="\n")
n = int(input())

ans = [0 for _ in range(10001)]

for x in range(1, 101):
    for y in range(1, 101):
        for z in range(1, 101):
            s = x*x + y*y + z*z + x*y + y*z + z*x
            if s <= 10000:
                ans[s] += 1

for i in range(1, n+1):
    print(ans[i])
N = int(input())

res = [0]*20000

for x in range(1, int(N**0.5)):
    for y in range(1, int(N**0.5)):
        for z in range(1, int(N**0.5)):
            idx = x**2 + y**2 + z**2 + x*y + y*z + z*x
            if idx < 20000:
                res[idx] += 1

for r in res[1:N+1]:
    print(r)
n=int(input())
end=int(n**0.5)+1
cnt=0
l=[0 for i in range(6*end*end)]
for i in range(1,end):
  for j in range(1,end):
    for k in range(1,end):
      now=i*i+j*j+k*k+i*j+i*k+j*k
      l[now-1]+=1
for i in range(n):
  print(l[i])
N = int(input())

memo = [0]*(N+1)
for i in range(1,150):
  for j in range(1,150):
    for k in range(1,150):
      n = (i+j)**2 + (j+k)**2 + (k+i)**2
      if n <= 2*N and n%2 == 0:
        memo[n//2] += 1
        
for i in memo[1:]:
  print(i)
n = int(input().rstrip())

ans = [0 for x in range(10000)]
for x in range(1,101):
  for y in range(1,101):
    for z in range(1,101):
      f = ((x+y)**2 + (y+z)**2 + (z+x)**2)//2
      if f <= 10000:
        ans[f-1] += 1

for i in range(n):
  print(ans[i])
N = int(input())
a = [0]*(N+1)
for x in range(1, 101):
    for y in range(1, 101):
        for z in range(1, 101):
            d = x*x+y*y+z*z+x*y+y*z+x*z
            if d <= N:
                a[d] += 1
for i in range(1, N+1):
    print(a[i])
n=int(input())
a=[0]*n
for x in range(1,120):
    for y in range(1,120):
        for z in range(1,120):
            i=(x+y+z)**2-x*y-y*z-z*x
            if i<=n:
                a[i-1]+=1
print(*a,sep="\n")
def solve(n):
    li = [0] * (n ** 3 + 1)
    for x in range(1, n + 1):
        for y in range(1, n + 1):
            for z in range(1, n + 1):
                li[x ** 2 + y ** 2 + z ** 2 + x * y + y * z + z * x] += 1
    return li


N = int(input())
ans = solve(100)
[print(ans[i]) for i in range(1, N + 1)]
(N, ) = [int(n) for n in input().split()]

F = [0 for _ in range(N)]

for x in range(1, 100):
    for y in range(1, 100):
        for z in range(1, 100):
            val = x * x + y * y + z * z + x * y + y * z + z * x
            if val <= N:
                F[val-1] += 1
for f in F:
    print(f)
from collections import defaultdict as dd
n = int(input())
counter = dd(int)
for x in range(1, 101):
    for y in range(1, 101):
        for z in range(1, 101):
            ans = x**2 + y**2 + z**2 + x*y + y*z + z*x
            counter[ans] += 1

for num in range(1, n+1):
    print(counter[num])
N = int(input())

anslist = [0] * N

for i in range(1,int(N**0.5)+1):
    for j in range(1,int(N**0.5)+1):
        for k in range(1,int(N**0.5)+1):
            a = i**2 + j**2 + k**2 + i*j + j*k + k*i
            if a <= N:
                anslist[a-1] += 1
    

for i in range(N):
    print(anslist[i])
n=int(input())
l=[0]*(10**4+1)
for i in range(1,100):
    for j in range(1,100):
        for k in range(1,100):
            f=i**2+j**2+k**2+i*j+j*k+k*i
            if f<=10**4:
                l[f]+=1
for i in range(1,n+1):
    print(l[i])
N = int(input())
ans = [0]*N
for x in range(1, int(N**0.5)+2):
  for y in range(1, int(N**0.5)+2):
    for z in range(1, int(N**0.5)+2):
      a = x**2 + y**2 + z**2 + x*y + y*z + z*x 
      if a <= N:
        ans[a-1] += 1
for i in range(N):
  print(ans[i])
n = int(input())
fn = [0] * (n+1)
def f(x, y, z):
    return x**2 + y**2 + z**2 + x*y + y*z + z*x 

for x in range(1, 101):
    for y in range(1, 101):
        for z in range(1, 101):
            idx = f(x, y, z)
            if idx <= n:
                fn[idx] += 1
for i in range(1, n+1):
    print(fn[i])
n = int(input())
res = [0] * 100001
for x in range(1,110):
    for y in range(1,110):
        for z in range(1,110):
            v = x*x + y*y + z*z + x*y + y*z + x*z
            if v < 100001:
                res[v] += 1
for i in range(n):
    print(res[i+1])
# (x + y + z) ** 2 == n + xy + yz + zx\

ans = [0] * 10010
n = int(input())

for x in range(1, 101):
    for y in range(1, 101):
        for z in range(1, 101):
            value = x*x + y*y + z*z + x*y + y*z + z*x
            if value <= n:
                ans[value] += 1

for i in range(1, n+1):
    print(ans[i])
ar = [0 for a in range(10001)]
for a in range(1,100):
    for b in range(1,100):
        for c in range(1,100):
            if a*a + b*b + c*c +a*b + b*c + c*a <=10**4:
                ar[a*a + b*b + c*c +a*b + b*c + c*a]+=1

n = int(input())
for i in range(1,n+1):
    print(ar[i],end= " ")
n = int(input())
cnt = [0] * 10**5

for x in range(1,101):
    for y in range(1,101):
        for z in range(1,101):
            cnt[x**2 + y**2 + z**2 + x*y + y*z + z*x] += 1

for i in range(1,n+1):
    print(cnt[i])
N = int(input())

ans = [0]*(10**5)
for x in range(1,110):
    for y in range(1,110):
        for z in range(1,110):
            cnt = x**2 + y**2 + z**2 + x*y + y*z + z*x
            ans[cnt] += 1
        
for i in range(1,N+1):
    print(ans[i])
N = int(input())
X = [0] * (N + 1)
for i in range(1, 101):
    for j in range(1, 101):
        for k in range(1, 101):
            a = i ** 2 + j ** 2 + k ** 2 + i * j + j * k + i * k
            if a <= N:
                X[a] += 1
for a in X[1:]:
    print(a)
n=int(input())
lis=[0]*(n+1)
for x in range(1,101):
    for y in range(1,101):
        for z in range(1,101):
            k=x**2+y**2+z**2+x*y+y*z+x*z
            if k<=n:
                lis[k]+=1
for i in range(1,n+1):
    print(lis[i])
from collections import defaultdict
import math
n=int(input())
d=defaultdict(int)

if n>2:
    m=int(math.sqrt(n))
    for k in range(1,m):
        for i in range(1,m):
            for j in range(1,m):
                N=i*i+j*j+k*k+i*j+j*k+k*i
                d[N]+=1
for i in range(1,n+1):
    print(d[i])
n = int(input())
ans = [0]*(10001)
for x in range(1, 101):
  for y in range(1, 101):
    for z in range(1, 101):
      key = x**2+y**2+z**2+x*y+y*z+z*x
      if key <= 10000:
        ans[key] += 1
for i in range(1, n+1):
  print(ans[i])
N = int(input())

A = [0] * (10 ** 5)

for i in range(1, 101):
    for j in range(1, 101):
        for k in range(1, 101):
            A[i**2 + j**2 + k**2 + i*j + j*k + k*i - 1] += 1

for i in range(0, N):
    print(A[i])
import math
N = int(input())
ans = [0]*N
l = int(math.sqrt(N))

for i in range(1,l):
    for j in range(1,l):
        for k in range(1,l):
            a = (i+j+k)**2-(i*j+j*k+k*i)
            if a <= N:
                ans[a-1] += 1

print(*ans, sep='\n')
import sys
input = sys.stdin.readline
N=int(input())
s= [0 for i in range(10002)]
for x in range(1,100):
    for y in range(1,100):
        if x*x + y*y>10000:break
        for z in range(1,100):
            a = x*x + y*y + z*z +x*y + y*z + z*x
            if a >10000:break
            s[a] +=1

for i in range(N):
    print(s[i+1])
def main():
    N = int(input())

    ans = [0] * 10001
    for i in range(1, 101):
        for j in range(1, 101):
            if i**2 + j**2 < 10001:
                for k in range(1, 101):
                    tmp = i**2 + j**2 + k**2 + i*j + j*k + i*k
                    if tmp < 10001:
                        ans[tmp] += 1

    for i in range(1, N+1):
        print(ans[i])


if __name__ == '__main__':
    main()
import math

n = int(input())
lst = [0]*n
const = int(math.sqrt(n))

if n < 6:
  for i in range(n):
    print(0)
  exit()

for x in range(1, const):
  for y in range(1, const):
    for z in range(1, const):
      s = x*x + y*y + z*z + x*y + y*z + z*x
      if s > n:
        continue
      else:
        lst[s-1] += 1

for i in lst:
  print(i)