peterverebics/CodeNet_Python_118 huggingface dataset:
n=int(input())
from math import floor,sqrt
sqset=set()
for i in range(1,200):
  sqset.add(i**2)
def func(m):
  r=0
  for x in range(1,floor(sqrt(m))+1):
    for y in range(1,floor(sqrt(m))+1):
      a=x+y
      b=x**2+y**2+x*y-m
      d=a**2-4*b
      if d in sqset:
        if (sqrt(d)-a)>0 and (sqrt(d)-a)%2==0:
          r+=1
  return r
for i in range(1,n+1):
  print(func(i))
def main():
    n = int(input())
    L = [0] * (10 ** 5)
    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
                L[k] += 1 
    for i in range(1, n+1):
        print(L[i])
main()
n=int(input())
m=int(n**0.5)
li=[0]*(10**4)
c=0
for i in range(1,m):
  for j in range(1,m):
    for k in range(1,m):
      if i*i+j*j+k*k+i*j+k*j+k*i<=n:
        li[i*i+j*j+k*k+i*j+k*j+k*i-1]+=1
for i in range(n):
  print(li[i])
n = int(input())
table = [0]*(10**5)
for x in range(1, 100):
    for y in range(1, 100):
        for z in range(1, 100):
            table[x**2+y**2+z**2+x*y+y*z+z*x] += 1

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

ans = [0 for _ in range(n+1)]
m = int(n**0.5) + 1
for x in range(1, m):
    for y in range(1, m):
        for z in range(1, m):
            t = x*x + y*y + z*z + x*y + y*z + z*x
            if t < n + 1:
                ans[t] += 1

for i in range(1, n+1):
    print(ans[i])
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 combinations_with_replacement

N = int(input())
ans = [0] * (N + 1)            

for x, y, z in combinations_with_replacement(list(range(1, 100)), 3):
    val = x ** 2 + y ** 2 + z ** 2 + x * y + y * z + x * z

    n_diff = len(set([x, y, z]))
    if n_diff == 3:
        cnt = 6
    if n_diff == 2:
        cnt = 3
    if n_diff == 1:
        cnt = 1

    # print(val)
    
    if val <= N:
        ans[val] += cnt

print('\n'.join(map(str, ans[1:])))
n=int(input())
l=[0]*(10**5)
for x in range(1,10**2+1):
    for y in range(1,10**2+1):
        for z in range(1,10**2+1):
            a=x**2+y**2+z**2+x*y+y*z+z*x
            l[a]+=1
for j in range(1,n+1):
    print(l[j])
import collections
n = int(input())
l = [0]*250939
count = 0
for x in range(1,500):
    for y in range(1,500):
        for z in range(1,500):
            tmp = (x+y+z)**2-(x*y+y*z+z*x)
            if tmp <= 10**4:
                l[count] = tmp
                count+=1
            else:
                break
l = sorted(l)
C = collections.Counter(l)
for j in range(1,n+1):
    print(C[j])
n = int(input())
x = 1
y = 1
z = 1
a = [0]*(10**5)
for j in range(x,100):
    for k in range(y,100):
      for l in range(z,100):
        a[j**2+k**2+l**2+j*k+k*l+l*j]+=1
for i in range(1,n+1):
  print(a[i])
n = int(input())
num = [0] * (n+1)

for x in range(1,101):
    for y in range(1,101):
        for z in range(1,101):
            res = x**2 + y**2 + z**2 + x*y + y*z + z*x 
            
            if res < n+1:
                num[res] += 1
                
            else:
                continue
                
for i in num[1:]:
    print(i)
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(1,N+1):
    print(ans[i])
import sys
input = sys.stdin.readline
N = int(input())
res = [0] * (N + 1)
x = 1
while x * x <= N:
  y = 1
  while y * y <= N:
    z = 1
    while z * z <= N:
      if x ** 2 + y ** 2 + z ** 2 + x * y + y * z + z * x in range(1, N + 1):
        res[x ** 2 + y ** 2 + z ** 2 + x * y + y * z + z * x] += 1
      z += 1
    y += 1
  x += 1 

for r in res[1: ]: print(r)
N = int(input())


ans = [0] * (10 ** 4 + 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 <= 10 ** 4:
                ans[a] += 1

for i in ans[1:N+1]:
    print(i)
N = int(input())
def ff(x,y,z):
    n = x**2+y**2+z**2+x*y+y*z+z*x
    return n
maxx=99

c=[]
ans = [0]*N
for i in range(1,maxx+1):
    for j in range(1,maxx+1):
        for k in range(1,maxx+1):
            r=ff(i,j,k)
            c.append(r)
cc = [i for i in c if i<=N]

for i in cc:
    ans[i-1] += 1

for i in ans:
    print(i)
import math
n=int(input())
t=int(math.sqrt(n))
ans=[0 for i in range(100001)]
for j in range(1,t):
  for k in range(1,t):
    for l in range(1,t):
      s=j**2+k**2+l**2+j*k+k*l+j*l
      if s<10001:
        ans[s]+=1
          
for m in range(1,n+1):
  print(ans[m])
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())
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 math

N=int(input())
ARR=[0]*(N+1)

for x in range(1,101):
    for y in range(1,101):
        for z in range(1,101):
            res=x**2+y**2+z**2+x*y+y*z+z*x
            if res<=N:
                ARR[res]+=1

for i in ARR[1:]:
    print(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(N):
    print(ans[i+1])
import collections
N = int(input())
ans = collections.defaultdict(lambda: 0)
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]+= 1
for i in range(1, N+1):
  print(ans[i])
n = int(input())
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):
            k = x * x + y * y + z * z + x * y + y * z + z * x
            if k <= 10**4:
                f[k] +=1

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

dp = [0 for _ in range(N+1)]
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):
            t = x * x + y * y + z * z + x * y + y * z + z * x
            if t <= N:
                dp[t] += 1

for i in range(1,N+1):
    print(dp[i])
N = int(input())
dict = {}
for i in range(0,10001):
  dict[i] = 0
for x in range(1,101):
  for y in range(1,101):
    for z in range(1,101):
      tmp = int(((x + y) ** 2 + (y + z) ** 2 + (z + x) ** 2) / 2)
      if tmp <= 10000:
        dict[tmp] = dict[tmp] + 1
for i in range(1,N + 1):
  print(dict[i])
n = int(input())
target = [0 for i in range(n)]
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(temp <= n):
        target[temp - 1] += 1
for i in range(n):
  print(target[i])
from collections import defaultdict,deque
from sys import stdin,setrecursionlimit
import heapq,bisect,math,itertools,string,queue,copy
setrecursionlimit(10**8)
INF = float('inf')
mod = 10**9+7
eps = 10**-7
def inpl(): return list(map(int, stdin.readline().split()))

N = int(input())

d = [0]*(10**6 + 1)

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

for i in range(1,N+1):
    print(d[i])
N = int(input())
ans = [0] * (N + 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):
            n = x ** 2 + y ** 2 + z ** 2 + x * y + y * z + z * x
            if N < n:
                continue
            ans[n] += 1
print(*ans[1:], sep='\n')
N = int(input())
ans = N*[0]

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)):
      n = (x+y+z)**2-(x*y+y*z+z*x)
      if n<=N:
        ans[n-1]+=1

print(*ans,sep="\n")
N = int(input())
ans = [0]*(N+1)
for x in range(1,100):
    xx = x*x
    for y in range(1,100):
        yy = y*y
        xy = x*y
        for z in range(1,100):
            zz = z*z
            zx = z*x
            yz = y*z
            n = xx+yy+zz+xy+yz+zx
            if n<=N: ans[n]+=1

for n in range(1,N+1):
    print(ans[n])
import math

n = int(input())
ans = [0] * 10001
for x in range(1, int(math.sqrt(n+1))):
    for y in range(1, int(math.sqrt(n+1))):
        for z in range(1, int(math.sqrt(n+1))):
            t = x**2+y**2+z**2+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())
cnt = [0]*(10**4+50)

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<10**4+50:
        cnt[v] += 1
for i in range(1,n+1):
  print(cnt[i])
N = int(input())
N_list = [0]* 100000

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

for i in range(N):
    print(N_list[i])
N = int(input())

MAX = 100
from collections import defaultdict
d = defaultdict(int)
from itertools import product
for x, y, z in product(range(1, 1+MAX), repeat=3):
  t = x*x + y*y + z*z + x*y + y*z + z*x
  d[t] += 1

for i in range(1, N+1):
  print(d[i])
n = int(input())
a = [0]*((10**4)+1)
for i in range(1,101):
    for j in range(1,101):
        for  k in range(1,101):
            try:
                a[i*i+j*j+k*k+i*j+j*k+i*k]+=1
            except:
                continue
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])
n = int(input())
a = []
for i in range(1, 100):
    for j in range(1, 100):
        for k in range(1, 100):
            a.append(i**2 + j**2 + k**2 + i*j + j*k + k*i)
a.sort()
ix = 0
for i in range(1, n+1):
    res = 0
    while(a[ix] == i):
        res+=1
        ix+=1
    print(res)
import math

n = int(input())
ans = []
for x in range(1, math.ceil(n**(1/2))+1):
    for y in range(1, math.ceil(n**(1/2))+1):
        for z in range(1, math.ceil(n**(1/2))+1):
            ans.append(x**2 + y**2 + z**2 + x*y + y*z + z*x)
ans.sort()
for i in range(1, n+1):
    tmp = 0
    for x in ans:
        if x == i:
            tmp += 1
        elif x > i:
            print(tmp)
            break
from itertools import product
N=int(input())
f=[0]*N
for x,y,z in product(range(1,100),repeat=3):
    n=x**2+y**2+z**2+x*y+y*z+z*x
    if n<=N:
        f[n-1]+=1
for i in range(N):
    print(f[i])
N = int(input())
A = [0]*N
for x in range(1,N):
    for y in range(1,N):
        if x**2 + y**2 + x*y > N:
            break
        for z in range(1,N):
            s = x**2 + y**2 + z**2 + x*y + y*z + z*x
            if s>N:
                break
            A[s-1] = A[s-1]+1
for i in range(N):
    print(A[i])
import sys
INF = 1 << 60
MOD = 10**9 + 7 # 998244353
sys.setrecursionlimit(2147483647)
input = lambda:sys.stdin.readline().rstrip()
from itertools import product
def resolve():
    n = int(input())
    ans = [0] * (n + 1)
    for x, y, z in product(range(1, 101), repeat = 3):
        k = x ** 2 + y ** 2 + z ** 2 + x * y + y * z + z * x
        if k <= n:
            ans[k] += 1
    print(*ans[1:], sep = '\n')
resolve()
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):
            a = x**2+y**2+z**2+x*y+y*z+z*x
            if a <= n:
                A[a] += 1
                
for i in range(n):
    print(A[i+1])
import math

N = int(input())

A = [0] * (N + 1)

for x in range(1, int(math.sqrt(N))):
    for y in range(1, int(math.sqrt(N))):
        for z in range(1, int(math.sqrt(N))):
            ans = x ** 2 + y ** 2 + z ** 2 + x * y + y * z + z * x
            if (ans > N):
                break
            else:
                A[ans] += 1


for i in range(1, N + 1):
    print(A[i])
import numpy as np

n = int(input())
ans = [0 for _ in range(n+1)]

tmp = int(np.sqrt(n)+1)
for i in range(1, tmp):
    for j in range(1, tmp):
        for k in range(1, tmp):
            v = i**2+j**2+k**2+i*j+i*k+j*k
            if v <= n:
                ans[v]+=1
for a in ans[1:]:
    print(a)
N=int(input())
L=[0 for i in range(10**4+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<=10**4:
                L[n]+=1
for i in range(1,N+1):
    print(L[i])
N = int(input())
cnt = [0 for i in range(N+1)]

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

for i in range(1, N+1):
    print(cnt[i])
import math
con = 0;
n = int(input())
a = [0]*n

m = int(math.sqrt(n) // 1);
for x in range(1,m+1):
    for y in range(1,m+1):
        for z in range(1,m+1):
            s = x**2 + y**2 + z**2 + x*y + y*z + z*x;
            if s <= n:
                a[s-1] += 1;


for v in range(n):
    print(a[v]);
C = [0]*(10**5)
U = 10**2
for x in range(1, U+1):
    for y in range(1, U+1):
        for z in range(1, U+1):
            temp = x**2 + y**2 + z**2 + x*y + y*z + z*x
            if temp < 10**5:
                C[temp] += 1
n = int(input())
for i in range(1, n+1):
    print(C[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')
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])
def f(a,b,c):
	return a*a+b*b+c*c+a*b+b*c+c*a
n=int(input())
ans=[0]*n
r=int(n**0.5)+1
for i in range(1,r+1):
	for j in range(1,r+1):
		for k in range(1,r+1):
			if f(i,j,k)<=n:
				ans[f(i,j,k)-1]+=1
			else:
				break
for x in ans:
	print(x)
N = int(input())

ans = [0]*N
for x in range(1,10**2+1):
    for y in range(1,10**2+1):
        for z in range(1,10**2+1):
            p = x**2+y**2+z**2+x*y+y*z+z*x-1
            if p < N:
                ans[p] += 1

[print(i) for i in ans]
N = int(input())

list = [0]*(10**4)

for x in range(1,100+1):
  for y in range(1,100+1):
    for z in range(1,100+1):
      n = x**2 + y**2 + z**2 + x*y + y*z + z*x
      if(n <= 10**4):
        list[n-1] += 1
      
for i in range(N):
  print(list[i])
import math
n = int(input())
l =[0 for i in range(6*n+1)]

for i in range(1,int(math.sqrt(n))):
    for j in range(1,int(math.sqrt(n))):
        for q in range(1,int(math.sqrt(n))):
            
            l[i**2+j**2+q**2 +i*j +i*q+q*j]+=1
for i in range(1,n+1):
    print(l[i])
n = int(input())
l = [0]*10000

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

for i in range(n):
    print(l[i])
n=int(input())
a=[0]*100000
for x in range(1,101):
  ans=0
  for y in range(1,x+1):
    for z in range(1,y+1):
      if x==y:
        if y==z:  
          ans=1
        else:
          ans=3
      else:
        if y==z:
          ans=3
        else:
          ans=6
      a[(x+y+z)**2-(x*y+y*z+z*x)-1]+=ans
for i in range(n):
  print(a[i])
import math
import sys
import collections
import bisect
readline = sys.stdin.readline


def main():
    n = int(readline().rstrip())
    a = [0] * 10100
    for i in range(1, 105):
        for j in range(1, 105):
            for k in range(1, 105):
                m = i ** 2 + j ** 2 + k ** 2 + i * j + j * k + k * i - 1
                if m < 10050:
                    a[m] += + 1
    for s in range(n):
        print(a[s])


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

for i in range(1,N+1):
    print(data[i])
n = int(input())
ans = [0 for _ in range(10050)]
for i in range(1, 100):
    for j in range(1, 100):
        for k in range(1, 100):
            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())

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

for i in range(1,100):
  for j in range(1,i+1):
    for k in range(1,j+1):
      value = i**2+j**2+k**2+i*j+j*k+k*i
      if value <= 10**4:
        if len(set([i,j,k])) == 3:
          li[value] += 6
        elif len(set([i,j,k])) == 2:
          li[value] += 3
        else:
          li[value] += 1

for i in range(1,n+1):
  print(li[i])
import sys


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


n = I()
cnt = [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 + z*x
            if v <= n:
                cnt[v] += 1

for i in range(1, n + 1):
    print(cnt[i])
N = int(input())
l = [0] * 10 ** 5
for x in range(1,100):
    for y in range(1,100):
        for z in range(1,100):
            n = (pow(x + y,2) + pow(y + z,2) + pow(z + x,2)) // 2
            l[n] += 1
for n in range(1,N + 1):
    print(l[n])
import numpy as np
N = int(input())
ans = np.zeros((10**4+5))
for i in range(1,101):
  for j in range(1,101):
    for l in range(1,101):
      f = (i+j)**2+(j+l)**2+(l+i)**2
      if((f%2==0) and (f<=2*10**4)):
        ans[int(f/2)] += 1

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

a=[0]*n

for x in range(1,101):
  for y in range(1,101):
    for z in range(1,101):
      k=x*x+y*y+z*z+x*y+y*z+z*x
      if k <=n:
        a[k-1]+=1
        
for q in range(n):
  print(a[q])
import math
from collections import defaultdict

def check(x,y,z):
  return int(x*(x+y)+y*(y+z)+z*(z+x))

N = int(input())
# for n in range(1,N+1):
r = int(math.sqrt(N))+1
s = defaultdict(lambda:0)
for x in range(1,r):
  for y in range(1,r):
    for z in range(1,r):
      s[check(x,y,z)] += 1
for i in range(1,N+1):
  print(s[i])
import math
n = int(input())
count =[0 for _ in range(10**4)]
for x in range(1,100):
    for y in range(1,100):
        for z in range(1,100):
            ans =0
            ans = x **2 +y**2+z**2 +x*y+y*z +x*z
            if ans <= n:
                count[ans-1] += 1
for o in count[:n]:
    print(o)
N = int(input())

fn = [0] * (N+1)
for x in range(1,101):
    for y in range(1,101):
        if x**2 + y**2 + x*y >= N:
            break
        for z in range(1,101):
            val = x**2 + y**2 + z**2 + x*y+y*z+z*x
            if val > N:
                break
            fn[val] += 1

for v in fn[1:]:
    print(v)
import itertools

N = int(input())
lst = [0]*N
for x,y,z in itertools.product(list(range(1,int(N**0.5))),repeat=3):
    val = x*x + y*y + z*z + x*y + y*z + z*x
    if val <= N:
        lst[val-1] += 1
print(*lst,sep="\n")
N = int(input())
ans = [0] * 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):
            n = x**2 + y**2 + z**2 + x*y + y*z + z*x
            if n <= N:
                ans[n-1] += 1

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

f = [0] * (N + 1)

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

for i in range(1, N + 1):
  print(f[i])
import sys
input = sys.stdin.readline

n=int(input())
ans = [0]*int(1e5+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())
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]=ans[fn]+1
for n in range(1,N+1):
    print(ans[n])
import math

def resolve():
  N = int(input())

  result = [0] * (N + 1)
  max_range = int(math.sqrt(N)) + 1
  for x in range(1, max_range):
    for y in range(1, max_range):
      for z in range(1, max_range):
        index = x**2 + y**2 + z**2 + x*y + y*z + z*x
        if index <= N:
          # if index == 8:
          #   print("x: {0}, y: {1},z: {2},".format(x, y, z))
          result[index] += 1

  for i in result[1:]:
    print(i)

if __name__ == "__main__":
  resolve()
ans = [0 for _ in range(10001)]
for x in range(1, 101):
	for y in range(1, 101):
		for z in range(1, 101):
			w = x*x + y*y + z*z + x*y + y*z + z*x
			if w <= 10000:
				ans[w] += 1
print(*ans[1:int(input())+1], sep="\n")
from collections import defaultdict

n = int(input())

d = defaultdict(int)
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
            d[tmp] += 1

for i in range(1, n + 1):
    print(d[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):
      if x*x+y*y+z*z+x*y+y*z+z*x>n:break
      ans[x*x+y*y+z*z+x*y+y*z+z*x-1]+=1
print(*ans)
# C - XYZ Triplets
from collections import Counter


def main():
    N = int(input())
    calc = lambda x, y, z: x ** 2 + y ** 2 + z ** 2 + x * y + y * z + z * x
    cnt = Counter(
        calc(i, j, k)
        for i in range(1, 101)
        for j in range(1, 101)
        for k in range(1, 101)
    )
    res = [cnt[i] for i in range(1, N + 1)]
    print("\n".join(map(str, res)))


if __name__ == "__main__":
    main()
from collections import defaultdict as d
dico = d(int)
n = int(input())
for x in range(1,101):
  for y in range (1, 101):
    for z in range (1,101):
      s = x**2+y**2+z**2+x*y+x*z+y*z
      if s > n:break
      dico[s]+=1
for i in range(1, n+1):
  print(dico[i])
n=int(input())
ans=[0 for _ in range(100050)]
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 defaultdict


def main():
    N = int(input())
    D = defaultdict(int)
    for i in range(1, 200):
        for j in range(1, 200):
            for k in range(1, 200):
                D[i**2+j**2+k**2+i*j+j*k+k*i] += 1
    for i in range(1, N+1):
        print(D[i])


if __name__ == "__main__":
    main()
#!/usr/bin python3
# -*- coding: utf-8 -*-

def main():
    N = int(input())
    #s = x+ y+ z
    ret =[0]*(N+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<=N:
                    ret[n] += 1
    for i in ret[1:N+1]:
        print(i)

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

readline = sys.stdin.readline
readall = sys.stdin.read
ns = lambda: readline().rstrip()
ni = lambda: int(readline().rstrip())
nm = lambda: map(int, readline().split())
nl = lambda: list(map(int, readline().split()))
prn = lambda x: print(*x, sep='\n')

def solve():
    m = 100
    l = [0]*10**5
    for i in range(1, m):
        for j in range(1, m):
            for k in range(1, m):
                l[i**2 + j**2 + k**2 + i*j + j*k + k*i] += 1
    n = ni()
    prn(l[1:n+1])
    return

solve()
N=int(input())

a=[0]*10**4

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

for n in range(N):
    print(a[n])