peterverebics/CodeNet_Python_118 huggingface dataset:
N = int(input())
 
def calculate_n(x, y, z):
  n = x**2 + y**2 + z**2 + x*y + y*z + z*x
  return n
l = []
for x in range(1, N):
  for y in range(1, N):
    for z in range(1, N):
      n = calculate_n(x,y,z)
      if n > N:
        break
      else:
        l.append(n)
    if calculate_n(x, y+1, 1) > N:
      break
  if calculate_n(x+1, 1, 1) > N:
    break

import collections
c = collections.Counter(l)
for i in range(1, N+1):
  if i in c:
    print(c[i])
  else:
    print(0)
import sys
input = sys.stdin.readline
from math import sqrt
def main():
    N = int(input())
    A = [0]*(N+1)
    n = int(sqrt(N)) + 1
    for x in range(1, n):
        for y in range(1, n):
            for z in range(1, n):
                tmp = x*x + y*y + z*z + x*y + y*z + z*x
                if tmp <= N:
                    A[tmp] += 1
    for i in range(1,N+1):
        print(A[i])

if __name__ == '__main__':
    main()
ma = lambda :map(int,input().split())
ni = lambda:int(input())
import collections
import math
import itertools
gcd = math.gcd
n = ni()
ans = [0]*n
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):
            s = f(x,y,z)
            if  s<=n:
                ans[s-1] +=1
for i in range(n):
    print(ans[i])
import math
n = int(input())
c = [0 for _ in range(n)]
ln = int(math.sqrt(n+1))

for x in range(1, ln+1):
  for y in range(1, ln+1):
    for z in range(1, ln+1):
      s = x*x + y*y + z*z + x*y + y*z + z*x
      if(s-1 < n):
        c[s-1] += 1
      else:
        break
        
for i in c:
  print(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):
            f= x**2 + y**2 + z**2 + x*y + y*z + z*x
            if f<=n:
                ans[f]+=1

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

c = Counter(x * x + y * y + z * z + x * y + y * z + z * x
        for x in range(1, 100) for y in range(1, 100) for z in range(1, 100))

for i in range(1, n+1):
    print(c[i])
n = int(input())
a = [0]*10**5
for x in range(1,101):
    for y in range(1,101):
      for z in range(1,101):
        a[x**2+y**2+z**2+x*y+y*z+z*x]+=1
for i in range(1,n+1):
  print(a[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])
from collections import Counter

N = int(input())

C = Counter(
    x * x + y * y + z * z + x * y + y * z + z * x
    for x in range(1, 105) for y in range(1, 105) for z in range(1, 105)
)

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

ans=[0]*N

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(N>=F):
        ans[F-1] += 1
        
for i in ans:
  print(i)
N=int(input())
l=[0]*10000
for i in range(1,101):
    for j in range(1,101):
        for k in range(1,101):
            s=i**2+j**2+k**2+i*j+j*k+k*i
            if s<=10000:
                l[s-1]+=1
print(*l[:N],sep="\n")
n = int(input())
ans = [0 for _ in range(10001)]
for i in range(1, 100):
    for j in range(1, 100):
        for k in range(1, 100):
            summ = i**2 + j**2 + k**2 + i * j + j * k + k * i
            if summ < 10001:
                ans[summ] += 1

for i in range(1, n + 1):
    print(ans[i])
# print(ans[20])
n=int(input())
ans=[0]*(10**4+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):
            if x**2+y**2+z**2+x*y+y*z+z*x<=10**4:
                ans[x**2+y**2+z**2+x*y+y*z+z*x]+=1
for i in range(1,n+1):
    print(ans[i])
n=int(input())
ans=[0]*n
for j in range(101):
	for k in range(101):
		for l in range(101):
			x=(j+1)**2+(k+1)**2+(l+1)**2+(j+1)*(k+1)+(k+1)*(l+1)+(l+1)*(j+1)
			if x<=n:
				ans[x-1]+=1
for s in ans:
	print(s)
N = int(input())

ans = [0] * 10001
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 < len(ans):
        ans[val] += 1

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

a = [0]*10001

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

nums = [0]*n
a = int(n**0.5)+1
for x in range(1,a):
  for y in range(1,a):
    if x**2 + y**2 + x*y > n: break
    for z in range(1,a):
      s = x**2 + y**2 + z**2 + x*y + y*z + z*x
      if s <= n: nums[s-1] += 1
print(*nums, sep="\n")
N = int(input())
ls = [0]*(N+2)
 
for i in range(1,151):
    for j in range(1,151):
        for k in range(1,151):
            t = i*i + j*j + k*k + i*j + j*k + k*i 
            if t <= N :
                ls[t] += 1
 
for p in range(1,N+1):
    print(ls[p])
N = int(input())
ans = [0] * (N + 1)
for i in range (1, 101):
  for j in range(1, 101):
    for k in range(1, 101):
      n = i*i+j*j+k*k+i*j+j*k+k*i
      if n <= N:
        ans[n] += 1

print(*ans[1:], sep='\n')
n = int(input())

ans = [0 for _ in range(10001)]
for x in range(1, 100):
  for y in range(1, 100):
    for z in range(1, 100):
      v = x**2 + y**2 + z**2 + x*y + y*z + z*x
      if v < 10001:
        ans[v] += 1

for i in range(n):
  print(ans[i+1])
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**2 + j**2 + k**2 + i*j + j*k + k*i
            if v < 10050:
                ans[v] += 1

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

count = [0 for i in range(n+1)]

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:
        count[f] += 1

for i in count[1:]:
  print(i)
N = int(input())
num = [0 for i in range(7*N)]

for x in range(1, int(N**0.5)+1):
  for y in range(1, int(N**0.5)+1):
    for z in range(1, int(N**0.5)+1):
      f_N = x**2 + y**2 + z**2 + x*y + y*z + z*x
      num[f_N] += 1

for i in range(N):
  print(num[i+1])
n = int(input())
a = [0]*60001
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]+=1
for i in a[1:n+1]:
  print(i)
n = int(input())
a = [0] * 60001

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

print('\n'.join(map(str, a[1:n + 1])))
n = int(input())
f = [0]*(n+1)
x = 1
while x*x < n:
    y = 1
    while y*y < n:
        if x*y >= n: break
        z = 1
        while z*z < n:
            k = x*x + y*y + z*z + x*y + y*z + z*x
            if 1 <= k <= n: f[k] += 1
            z += 1
        y += 1
    x += 1
for i in range(1, n+1): print(f[i])
from math import sqrt
n = int(input())
l = [0]*(n)
s = int(sqrt(n))
for x in range(1, s+1):
  for y in range(1, s+1):
    for z in range(1, s+1):
      i = x**2+y**2+z**2+x*y+y*z+z*x
      if i-1 < n:
        l[i-1] += 1
        
for i in l:
  print(i)
n = int(input())
ans = [0 for i in range(n)]


for i in range(100):
  for j in range(100):
    for k in range(100):
      a = (i+1)*(i+1) +(j+1)*(j+1) + (k+1)*(k+1) + (i+1)*(j+1) +(j+1)*(k+1) + (k+1)*(i+1)
      if a <= n:
        ans[a-1]+=1
for i in ans:
  print(i)
n = int(input())
a = [0]*n
cnt = 0
for i in range(1,100):
  for j in range(1,100):
    for k in range(1,100):
      b = i**2 + j**2 + k**2 + i*j + j*k + k*i
      if b <= n:
        a[b-1] += 1

for i in a:
  print(i)
import math

n = int(input())
arr = [0] * n

for x in range(1,300):
    for y in range(1,300):
        for z in range(1,301):
            ans = x ** 2 + y ** 2 + z ** 2 + x * y + y * z + z * x
            if ans <= n:
                arr[ans - 1] += 1

for i in range(n):
    print(arr[i])
N = int(input())
ans_list =[0] * 1000000
for i in range(100):
  a = i+1
  for j in range(100):
    b = j+1
    for l in range(100):
      c = l+1
      ans_list[(a**2+b**2+c**2+a*b+a*c+b*c)-1] += 1
for i in range(N):
  print(ans_list[i])
import collections
import sys
input = sys.stdin.readline

n= int(input())
# ans = [0]*n
tmp = []

for x in range(1, int(n**0.5)+1):
    for y in  range(1, int(n**0.5)+1):
        for z in range(1, int(n**0.5)+1):
            tmp.append(x**2+y**2+z**2+x*y+y*z+z*x)
cnt = collections.Counter(tmp)

for i in range(1,n+1):
    print(cnt[i])
n=int(input())
ans=[0]*(n+1)
for x in range(1,105):
  for y in range(1,105):
    for z in range(1,105):
      t=x*x+y*y+z*z+x*y+y*z+z*x
      if t<=n:
        ans[t]+=1
for i in range(1,n+1):
  print(ans[i])
N = int(input())
myans = [ 0 for n in range(N+1)]
upper = int(N**(2/3))
#print(upper)
for x in range(1, 105):
    for y in range(1, 105):
        for z in range(1, 105):
            v = x**2 + y**2 + z**2 + x*y + y*z + z*x
            if v < N+1:
                myans[v] += 1
#print(myans)
for a,b in enumerate(myans):
    if a != 0:
        print(b)
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):
            i = x**2 + y**2 + z**2 + x*y + y*z + z*x
            if i < N+1:
                A[i] += 1
for i in range(1, N+1):
    print(A[i])
n = int(input())
ans = [0] * (n + 1)
loop = int(n ** .5) + 1

def f(i, j, k):
    return i ** 2 + j ** 2 + k ** 2 + i*j + j*k + k*i

for i in range(1, loop+1):
    for j in range(1, loop+1):
        for k in range(1, loop+1):
            res = int(f(i, j, k))
            if res <= n:
                ans[res] += 1

for a in ans[1:]:
    print(a)
n=int(input())
ans=[0]*n
for x in range(1,101):
  for y in range(1,101):
    if x*x+y*y>n:
      break
    for z in range(1,101):
      if x*x+y*y+z*z+x*y+x*z+y*z>n:
        break
      ans[x*x+y*y+z*z+x*y+x*z+y*z-1]+=1
for i in range(n):
  print(ans[i])
n = int(input())
cnt = [0] * 11000

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:
                cnt[value] += 1

for i in range(1,n+1):
    print(cnt[i])
import itertools
def main():
    N = int(input())
    xyz = itertools.product(range(1, 101), repeat=3)

    ans = [0] * (N + 1)
    for (x, y, z) in xyz:
        # print(x, y, z)
        f = x*x + y*y + z*z + x*y + y*z + z*x
        if f <= N:
            ans[f] += 1

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

if __name__ == '__main__':
    main()
#AIsing2020 c
 
import sys,math,collections,itertools
input = sys.stdin.readline
 
N = int(input())
ans = [0]*N
 
for x in range(1,101):
    for y in range(1,101):
        for z in range(1,101):
            n = x**2+y**2+z**2+x*y+y*z+z*x
            if n <= N:
                ans[n-1] +=1
                
 
for i in range(N):
    print(ans[i])
n = int(input())

ans = [0] * 110000

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

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

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

for m in range(1,n+1):
    print(a[m])
n=int(input())
l = [0] * 10001
for a in range(1, 101):
    for b in range(1,101):
        for c in range(1, 101):
            o = a**2 + b**2 + c**2 + a*b + a*c + c*b
            if o <= 10000:
                l[o] += 1
for i in range(1, n+1):
    print(l[i])
ans= [0]*(6*10**4+10)
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
n = int(input())
for i in range(1,n+1):
    print(ans[i])
n = int(input())
l = [0 for i in range(10**4+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):
      t = x**2+y**2+z**2+x*y+y*z+z*x
      if t<=10**4:
        l[t] += 1
for i in range(1,n+1):
  print(l[i])
import math
n = int(input())

highest = int(math.sqrt(n))
l = [0]*n
cal = 0

for x in range(1, highest+1):
  for y in range(1, highest+1):
    for z in range(1, highest+1):
      cal = x**2 + y**2 + z**2 + x*y + y*z + z*x
      if cal > n:
        continue
      else:
        l[cal-1] += 1
        
for i in range(len(l)):
  print(l[i])
import numpy as np

N = int(input())
rN = int(np.sqrt(N))

A = np.zeros(N)



for i in range(rN):
   for j in range(rN):
       for k in range(rN):
           x = i + 1
           y = j + 1
           z = k + 1
           n = x**2 + y**2 + z**2 + x*y + y*z + z*x
           if N < n :
               break
           else:
               A[n-1] += 1



for a in A:
    print(int(a))
import sys
from collections import Counter

def I(): return int(sys.stdin.readline().rstrip())
def LI(): return list(map(int,sys.stdin.readline().rstrip().split()))
def S(): return sys.stdin.readline().rstrip()
def LS(): return list(sys.stdin.readline().rstrip().split())

N = I()

count = Counter()
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)
            count[n] += 1


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

f = [0] * (10 ** 4 + 1)

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 <= 10000:
                f[n] += 1

for ans in f[1:N + 1]:
    print(ans)
n = int(input())
ans = []
f = [0 for _ in range(10**4+1)]
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 + x*y + y*z + z*x
            if tmp <= n:
                f[tmp] += 1
for i in range(1, n+1):
    ans.append(str(f[i]))
print("\n".join(ans))
n=int(input())
l=[0]*n
m=n**0.5
for x in range(1,int(m)):
    for y in range(1,int(m)):
        for z in range(1,int(m)):
            num=x**2+y**2+z**2+x*y+y*z+z*x
            if num<=n:
                l[num-1] += 1
for i in range(n):
    print(l[i])
import sys
read = sys.stdin.read
readline = sys.stdin.readline
readlines = sys.stdin.readlines

def main():
    N = int(readline())

    f = [0] * (N+1)
    for x in range(1,100):
        for y in range(1,100):
            for z in range(1,100):
                tmp = x**2 + y**2 + z**2 + x*y + y*z + z*x
                if tmp <= N:
                    f[tmp] += 1
    
    print("\n".join(map(str, f[1:])))


if __name__ == "__main__":
    main()
n = int(input())
li = [0]*n
for i in range(1,100):
    for j in range(1,100):
        for k in range(1,100): 
            if i**2 + j**2 + k**2 + i*j + j*k + k*i <= n:
                li[i**2 + j**2 + k**2 + i*j + j*k + k*i -1] += 1
for i in range(n):
    print(li[i])
import math
import collections
import bisect
from collections import deque
from copy import copy, deepcopy


def main():
    N = int(input())
    ans = [0 for i in range(60001)]
    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] += 1

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


if __name__ == '__main__':
    main()
N=int(input())
list=[0 for i in range(10**4+1)]
for i in range(1,101):
  for j in range(1,101):
    for k in range(1,101):
      f=i**2+j**2+k**2+i*j+i*k+j*k
      if f<10**4+1:
        list[f]+=1
for i in range(1,N+1):
      print(list[i])
N = int(input())
ans = [0 for _ in range(1,10101)]

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+1:
                ans[n-1] += 1

print(*ans[:N],sep='\n')
import sys
input = sys.stdin.readline
import math

N=int(input())
ans=[0]*(N+1)
sn=int(math.sqrt(N)+1)
for x in range(1,sn+1):
  for y in range(1,sn+1):
    for z in range(1,sn+1):
      i=x**2+y**2+z**2+x*y+y*z+z*x
      if 1<=i<=N:
        ans[i]+=1
for h in range(1,N+1):          
  print(ans[h])
import sys
read = sys.stdin.read
readline = sys.stdin.readline
readlines = sys.stdin.readlines

def main():
    N = int(readline())

    f = [0] * (N+1)
    for x in range(1,100):
        for y in range(1,100):
            for z in range(1,100):
                tmp = x*x + y*y + z*z + x*y + y*z + z*x
                if tmp <= N:
                    f[tmp] += 1
    
    print("\n".join(map(str, f[1:])))


if __name__ == "__main__":
    main()
n = int(input())

ansl = [0]*(n+1)

for x in range(1,10**2):
    for y in range(1, 10**2):
        for z in range(1,10**2):
            val = x**2 + y**2 + z**2 + x*y + y*z + z*x
            if val <= n:
                ansl[val] += 1

for i in range(1,n+1):
    print(ansl[i])
n = int(input())
l = [0]*10010


for i in range(1, 100):
    for j in range(1, 100):
        for k in range(1, 100):
            ref = i**2 + j**2 + k**2 + i*j + j*k + i*k
            if ref <= 10000:
                l[ref - 1] += 1

for i in l[:n]:
    print(i)
N = int(input())

results = [0] * N

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

for x in range(1, 100):
  for y in range(1, 100):
    for z in range(1, 100):
      w = g(x,y,z)
      if w > N:
        break
      else:
        results[w - 1] += 1

for result in results:
  print(result)
n = int(input())

count = [0] * 10001

for x in range(1,101):
    for y in range(1,101):
        for z in range(1,101):
            temp = x ** 2 + y ** 2 + z ** 2 + x * y + y * z + z * x
            if(1 <= temp and temp <= 10000):
                count[temp] += 1

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

ans = [0]*(N+1)

for i in range(1, int(N**0.5)+1):
    for j in range(1, int(N**0.5)+2):
       for k in range(1, int(N**0.5)+2):
            f = i*i + j*j + k*k +i*j + j*k + k*i
            if f <= N:
                ans[f] += 1
print(*ans[1:], sep='\n')
ans=[0 for i in range(10**4+1)]

n=int(input())

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

for i in range(1,100):
    for q in range(1,100):
        for p in range(1,100):
            if calc(i,q,p)<=10**4:
                ans[calc(i,q,p)]+=1

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

ans = [0] * (10**4 + 1)

for x in range(1, 101):
  for y in range(1, 101):
    for z in range(1, 101):
      v = x**2 + y**2 + z**2 + x*y + y*z + z*x
      if v <= 10**4:
        ans[v] += 1

for i in range(1, N+1):
  print(ans[i])
# Problem XYZ Triplets

# input
N = int(input())

# initialization
ans_list = [0]*(10**6)

# calc
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 + x*y + y*z + z*x
            ans_list[tmp] += 1

# output
for i in range(1, N+1):
    print(ans_list[i])
import sys

input = sys.stdin.readline

def main():
    ans = [0]* 10010
    n = int(input())
    for x in range(1,101):
        for y in range(1,101):
            for z in range(1,101):
                v = (x+y+z)**2 - x*y - y*z - z*x
                if v <= n:
                    ans[v] += 1
    for i in range(1,n+1):
        print(ans[i])

if __name__ == '__main__':
    main()
#!/usr/bin/env python
import math

n = int(input())
m = int(math.sqrt(n))+1
x = y = z = 0 

def p(x, y, z): 
    return x*x + y*y + z*z + x*y + y*z + z*x 

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

for x in range(1, m): 
    for y in range(1, m): 
        for z in range(1, m): 
            if p(x, y, z)-1 <= n-1:
                anss[p(x, y, z)-1] += 1

for i in range(n):
    print(anss[i])
def main():
    n = int(input())
    res = [0]*(n+1)

    for i in range(1,100):
        for j in range(1,100):
            for k in range(1,100):
                if(i**2 + j**2 + k**2 +i*j+j*k + k*i<=n):
                    res[i**2 + j**2 + k**2 +i*j+j*k + k*i]+=1
                    
    for i in range(1,n+1):
        print(res[i])
if __name__ == '__main__':
    main()
n = int(input())

l = [0] *(10005)

for x in range(1, 100):
    for y in range(1, 100):
        for z in range(1, 100):
            k = x**2 + y**2 + z**2 + x*y + y*z + z*x
            if k <= 10004:
                l[k] += 1

for i in range(1, n+1):
    print(l[i])
n=int(input())
l=[]
for i in range(300):
  l.append(i**2)
l=set(l)
for i in range(1,n+1):
  ct=0
  for j1 in range(1,int(n**0.5)+2):
    for j2 in range(1,int(n**0.5)+2):
      a=j1+j2
      b=i-j1**2-j2**2-j1*j2
      if a**2+4*b in l:
        k=int((a**2+4*b)**0.5)
        if (a+k)%2==0:
          j3=(-a+k)//2
          if j3>0:
            ct+=1
  print(ct)
n = int(input())
r = range(1,101)
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
            if t <= n:
                l[t-1] +=1
for i in l:
    print(i)
N=int(input())
ans=[0]*(N)
hani=int(N**(0.5))+2
for i in range(1,hani):
    for j in range(1,hani):
        for k in range(1,hani):
            v=i**2+j**2+k**2+i*j+j*k+k*i
            if(v<=N):
                ans[v-1]=ans[v-1]+1
for i in ans:
    print(i)
n = int(input())
ans = [0 for _ in range(10001)]

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

for i in range(n):
    print(ans[i+1])
# 
import sys

from sys import stdin
input = lambda: stdin.readline().rstrip()

N = int(input())

l = [0] * N
for x in range(1,100):
    for y in range(1,100):
        for z in range(1,100):
            v = x**2+y**2+z**2+x*y+y*z+z*x
            if v <= N:
                l[v-1] = l[v-1] + 1

for i in l:
    print(i)
num = [ 0 for i in range(10**6)]

for i in range(1,150):
    for j in range(1,150):
        for k in range(1,150):
            tmp = i**2+j**2+k**2+i*j+j*k+k*i
            #num[tmp].append((i,j,k))
            num[tmp] += 1
N = int(input())

for i in range(1,N+1):
    print(num[i])
n = int(input())
a = [0]*n
s = int(n**(1/2))+1
for i in range(1, s):
    for j in range(1, s):
        for k in range(1, s):
            b = i*i+j*j+k*k+i*j+j*k+k*i-1
            if b < n:
                a[b] += 1
for i in range(n):
    print(a[i])
def main():
    n = int(input())
    dp=[0]*(10000+1)
    for x in range(1,101):
        for y in range(1, 101):
            for z in range(1, 101):
                num = x**2+y**2+z**2+x*y+y*z+z*x
                if num <= 10000:
                    dp[num] += 1
    [print(dp[i]) for i in range(1,n+1)]

if __name__ == '__main__':
    main()
N = int(input())
cnt = 0
anslst = [0] * (N + 1)
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
            ans += i * j + j * k + k * i
            if N >= ans:
                anslst[ans] += 1

for i in anslst[1:]:
    print(i)
N=int(input())
a=[0]*(N+1)
for x in range(1,100):
    for y in range(1,100):
        for z in range(1,100):
            t=x**2+y**2+z**2+x*y+y*z+z*x
            if t<=N:
                a[t]+=1
for i in a[1:]:
    print(i)
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):
            v = x**2+y**2+z**2+x*y+y*z+z*x
            if v<10001:
                ans[v] += 1
for i in range(N):
    print(ans[i+1])
n=int(input())

result = [0] * (n+1)
for x in range(1,99):
  for y in range(1,99):
    for z in range(1,99):
      fn = x*x + y*y + z*z + x*y + y*z + z*x
      if fn > n:
        break
      result[fn] += 1

for i in range(1,n+1):
  print(result[i])
n = int(input())
c = [0]*n
for x in range(1, 101):
    for y in range(1, 101):
        for z in range(1, 101):
            N = x**2 + y**2 + z**2 + x*y + y*z + z*x
            if n >= N:
                c[N-1] += 1
for i in c:
    print(i)
from collections import defaultdict

D = defaultdict(int)

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

N=int(input())
for x in range(1,101):
    for y in range(1,101):
        for z in range(1,101):
            ret = f(x,y,z)
            if ret>N:
                break
            D[f(x,y,z)]+=1

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