peterverebics/CodeNet_Python_118 huggingface dataset:
n=int(input())

max_n=10**4+5
ans=[0]*(max_n)
for x in range(1,34):
    for y in range(1,34):
        for z in range(1,34):
            total=x**2+y**2+z**2+x*y+y*z+z*x
            if total<=max_n:
                ans[total]+=1

for i in range(1,n+1):
    print(ans[i])
n = int(input())
f = [0] * (n + 1)
t = int(n ** .5) + 3
for i in range(1, t):
    for j in range(1, t):
        for k in range(1, t):
            res = i ** 2 + j ** 2 + k ** 2 + i * j + j * k + k * i
            if res <= n:
                f[res] += 1
print('\n'.join(map(str, f)))
import math
N=int(input())
ans=[0]*(N+1)
tempn=0
xmax=int(math.sqrt(N))+2
for x in range(1,xmax+2):
    ymax=xmax-x
    for y in range(1,ymax+1):    
        zmax=ymax-y
        for z in range(1,zmax+1):
            tempn=((x+y+z)**2-(x*y+y*z+z*x))
            if tempn <= N:
                ans[tempn]+=1
for i in range(1,(N+1)):
    print(ans[i])
N = int(input())

list=[0]*N
for x in range(1,N+1):
    if x * x+2*x+3 > N:
        break
    for y in range(1,N+1):
        if x * x + y * y + x * y+x+y+1 > N:
            break
        for z in range(1, N + 1):
            val=x * x + y * y + z * z + x * y + y * z + z * x
            if val >= N:
                break
            list[val - 1] += 1
for i in range(N):
    print("{}".format(list[i]))
N = int(input())
A = []
for i in range(1,46):
  for j in range(1,46):
    for k in range(1,46):
      A.append(i**2+j**2+k**2+i*j+i*k+j*k)
A = sorted(A)
B = [0]*100000
for i in range(10000):
  if A[i] < 10000:
    B[A[i]] += 1
C = B[1:N+1]
[print(i) for i in C]
N = int(input())
a = [0]*(N+1)
for x in range(101):
    for y in range(101):
        for z in range(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())
ans = [0] * 10000

for x in range(1, 1000):
    for y in range(1, 1000):
        for z in range(1, 1000):

            f = x**2 + y**2 + z**2 + x*y + y*z + z*x

            if f < 10000:
                ans[f-1] = ans[f-1] + 1 

            if f > N:
                break
            
for i in range(N):
    print(ans[i])
#C
n = int(input())

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

for i in range(1,50):
    for j in range(1,50):
        for k in range(1,50):
            f[i**2 + j**2 + k**2 + i*j + j*k + k*i] += 1

for l in range(n):
    print(f[l+1])
n=int(input())
ls=[0]*n
x=1
y=1
z=1
p=6
m=int(n**0.5)
for x in range(1,m):
  for y in range(1,x+1):
    for z in range(1,y+1):
      k=3
      if x==y and x==z:
        k=1
      j=x*x+y*y+z*z+x*y+y*z+x*z
      if j<=n:
        ls[j-1]+=k
      else:
        break
for i in ls:
  print(i)
n = int(input())
fn = [0] * (10**5)

def f(x, y, z):
    return x**2 + y**2 + z**2 + x*y + y*z+ z*x 
for x in range(1, 32):
    for y in range(1, 32):
        for z in range(1, 32):
            idx = f(x, y, z)
            fn[idx] += 1

for i in range(1, n+1):
    print(fn[i])
import numpy as np
N = int(input())
l = []

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
            l.append(fn)

for i in range(N+1):
    print(l.count(i))
import math
N = int(input())
#Nは6以上
for n in range(1,N):
    r_n = math.floor(math.sqrt(n))
    count = 0
    for x in range(1,r_n):
        for y in range(1,r_n):
            for z in range(1,r_n):
                if (x*x + y*y + z*z + x*y + y*z + z*x) == n:
                    count+=1
    print(count)
N=int(input())
for i in range(N):
  count=0
  k=i//5+1
  for x in range(k):
    if(x==0):
      continue
    for y in range(k):
      if(y==0):
        continue
      for z in range(k):
        if(z==0):
          continue
        if((x+y)**2+(y+z)**2+(z+x)**2)//2==i:
          #print(x,y,z)
          count+=1
  print(count)
n = int(input())

ans = 0
ans1 = [0] * n
for i in range(1,n):
  for j in range(1,n):
    for k in range(1,n):
      ans = i**2 + j**2 +k**2 + i*j + j*k + k*i
      for l in range(6,n-1):
        if(l+1 == ans):
          ans1[l] += 1
for i in range(n):
  print(ans1[i])
import math

N=int(input())
count=[0]*(N+1)
for i in range(N):
  for x in range(1,int(math.sqrt(N+1)/3)):
    for y in range(1,int(math.sqrt(N+1)/3)):
      for z in range(1,int(math.sqrt(N+1)/3)):
        if(x**2+y**2+z**2+x*y+y*z+z*x==i):
          count[i]+=1
for j in range(1,N+1):
  print(count[j])
N = int(input())

a = [0]* N

x = [i for i in range(1,43)]
y = [i for i in range(1,43)]
z = [i for i in range(1,43)]
ans = []
for i in x:
    for j in y:
        for k in z:
            t = (i**2+j**2+k**2+i*j+j*k+k*i)
            if t <= N:
                a[t-1] += 1
            
for i in range(N):
    print(a[i])
import math

n = int(input())
for i in range(1, 6):
    print(0)
for i in range(6, n+1):
    x = int(math.sqrt(i)) + 1
    ans = 0
    for j in range(1, x):
        for f in range(1, x):
            for k in range(1, x):
                if (j + f + k) ** 2 - j*f - j*k - f*k == i:
                    ans += 1
    print(ans)
n = int(input())
count =[0] * n

for f in range(1,n+1):
    for x in range(1, f//5):
        for y in range(1, f//5):
            for z in range(1, f//5):
                if(x*x+y*y+z*z+x*y+y*z+z*x == f):
                    count[f-1]+=1

for i in range(n):
    print(count[i])
n = int(input())
for i in range(1,n+1):
    ans = 0
    for x in range(35):
        for y in range(35):
            for z in range(35):
                if (x+y+z)**2 -(x*y+y*z+z*x) == i and x>=1 and y>=1 and z>=1:
                    ans += 1
    print(ans)
n = int(input())
ans = [0]*n

for x in range(1,int(n**.5)+1):
    for y in range(1,int(n**.5)+1):
        for z in range(1,int(n**.5)+1):
            a = x*x+y*y+z*z+x*y+y*z+z*x
            if a < n:
                ans[a] += 1
for i in range(n):
    print(ans[i])
n = int(input())
f = [0]*21600
for x in range(1,60):
    for y in range(1,60):
        for z in range(1,60):
            f[x**2+y**2+z**2+x*y+y*z+z*x-1]+=1
for i in range(n):
    print(f[i])
n=int(input())
ls=[0]*n
x=1
y=1
z=1
p=6
m=int(n**0.5)
for x in range(1,m+3):
  for y in range(1,x+1):
    for z in range(1,y+1):
      k=6
      if x==y:
        k=3
        if x==z:
          k=1
      j=x*x+y*y+z*z+x*y+y*z+x*z
      if j<=n:
        ls[j-1]+=k
      else:
        break
for i in ls:
  print(i)
import math
n=int(input())
ans=[0]*(10**5)
for x in range(int(math.sqrt(n))+1):
  for y in range(int(math.sqrt(n))+1):
    for z in range(int(math.sqrt(n))+1):
      ans[((x+y)**2+(y+z)**2+(z+x)**2)//2-1]+=1

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

for i in ans:
    print(i)
n = int(input())
ans = [0 for i in range(n+1)]
for x in range(1, 50):
    for y in range(1, 50):
        for z in range(1, 50):
            tmp = x**2 + y**2 + z**2 + x*y + y*z + z*x
            #print(x, y, z, tmp)
            if 1 <= tmp and tmp <= n+1:
                ans[tmp] += 1
for i in range(1, n+1):
    print(ans[i])
#C
import math

N = int(input())


count = [0] * (10010)
for j in range(1, 100):
    for k in range(1, 100):
        for l in range(1, 100):
            v = (j+k+l) ** 2 - (j*k + k*l + l*j)
            if v <= 10000:
                count[v] += 1

for i in range(1, N):
    print(count[i])
def fx(n):
  cnt = 0

  for i in range(1,10000):
    if (i+1+1)**2 - i*1 - 1*1 - 1*i > n: break
    for j in range(1, 10000):
      if (1+j+1)**2 - 1*j - j*1 - 1*1 > n : break
      for k in range(1, 10000):
        formula = (i+j+k)**2 - i*j - j*k - k*i
        if formula == n:
          cnt+=1
        if formula >= n:
          break
  
  return cnt


n = int(input())
for i in range(1,n):
  print(fx(i))
t = int(input())
for i in range(t):
  if i < 6:
    print(0)
  else:
    tmp = i - 3
    num = 0
    for x in range(tmp):
      x += 1
      for y in range(tmp-x):
        y += 1
        for z in range(tmp-x-y):
          z += 1
          if i == x**2 + y**2 + z**2 + x*y + x*z + y*z:
            num += 1
    print(num)
n = int(input())
ans = [0]*(n+5)

for x in range(1,10):
    for y in range(1,10):
        for z in range(1,10):
            temp = x**2 + y**2 + z**2 + x*y + y*z + z*x
            if n>=temp:
                print(x,y,z, temp)
                ans[temp]+=1


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

N = int(input())
for n in range(1,N+1):
    cnt = 0
    for x,y in itertools.product(list(range(n)),repeat=2):
        z = n - x - y
        if n == x*x + y*y +z*z + x*y + y*z + z*x:
            cnt += 1
    print(cnt)
n = int(input())
ans = [0]*(10**4+1)
for x in range(10**2+1):
    for y in range(10**2+1):
        for z in range(10**2+1):
            i = x*x + y*y + z*z + x*y + x*z + y*z
            if i <= 10**4:
                ans[i] += 1
            else:
                break

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

n = int(input())
max = int(math.sqrt(n) + 1)
L = [0] * (n + 1)
for x in range(1, max):
    for y in range(1, max):
        for z in range(1, max):
            tmp = x * x + y * y + z * z + x * y + y * z + z * x
            if tmp > n:
                continue
            L[tmp] += 1

for i in range(1, n):
    print(L[i])
from collections import defaultdict

N = int(input())


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

res = defaultdict(int)

for x in range(1, 50):
  for y in range(1, 50):
    for z in range(1, 50):
      res[fun(x, y, z)] += 1
        
for n in range(1, N+1):
  print(res[n])
def main():
    n = int(input())
    f = [0 for i in range(n+1)]
    Max = n**0.5
    Max = int(Max//1) 
    for x in range(1,Max):
        for y in range(1,Max):
            for z in range(1,Max):
                tmp = x**2+y**2+z**2+x*y+y*z+x*z
                if tmp<n:
                    f[tmp] += 1
    for i in range(1,n+1):
        print(f[i])

main()
n = int(input())
for i in range(n):
  if i < 6:
    print(0)
  else:
    count=0
    for j in range(100):
      for k in range(100):
        for l in range(100):
          if ((j+1)**2 + (k+1)**2 + (l+1)**2 + (j+1)*(k+1) +(k+1)*(l+1) +(l+1)*(j+1)) == i:
            count +=1
    print(count)
from math import sqrt
l = [-1]+[0]*10**4
n = int(input())
for i in range(1,int(sqrt(n))+2):
    for j in range(1,int(sqrt(n))+2):
        for k in range(1,int(sqrt(n))+2):
            ans = i**2+j**2+k**2+i*j+j*k+k*i
            if ans <= 10*4:
                l[ans] += 1
for i in range(1,n+1):
    print(l[i])
n = int(input())
fn = [0] * (10**5)
def f(x, y, z):
    return x**2 + y**2 + z**2 + x*y + y*z + z*x 

for x in range(1, 35):
    for y in range(1, 35):
        for z in range(1, 35):
            idx = f(x, y, z)
            if idx <= n:
                fn[idx] += 1
for i in range(1, n+1):
    print(fn[i])
n=int(input())
for i in range(n+1):
 ans=0
 for x in range(i):
  for y in range(i):
   for z in range(i):
    if i==x*x+y*y+z*z+x*y+x*z+y*z:
      ans+=1
 print(ans)
N = int(input())
ans = list()

for i in range(N+1):
    ans.append(0)

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:
                ans[tmp] += 1
for i in range(N):
    print(ans[i+1])
n=int(input())
l=[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):
            i=(x+y+z)**2-(x*y+y*z+x*z)
            if i<n:
                l[i-1]+=1
print(*l,sep="\n")
n=int(input())
y=[0 for _ in range(n)]
for j in range(1,41):
   for k in range(j,58):
      for u in range(k,101):
         a=j*j+k*k+u*u+j*k+k*u+u*j
         if a < n+1:
            if j==k and k==u:
               y[a-1]=1
            elif j==k or k==u:
               y[a-1]=3
            else:
               y[a-1]=6
for o in range(n):
   print(y[o])
n = int(input())

cnt = [0] * 10001

for i in range(1, 100):
	for j in range(1, 100):
		for k in range(1, 100):
			x = i*i + j*j + k*k + i*j + j*k + i*k
			if(x <= 1000):
				cnt[x]+=1

for i in range(1, n+1):
	print(cnt[i])
N=int(input())
for h in range(1,N+1):
    num=0
    for i in range(1,h-3):
        for j in range(i+1,h-3):
            for k in range(j+1,h-3):
                if i**2+j**2+k**2+i*j+j*k+k*i==h:
                    num+=1
    print(num)
import itertools

N = int(input())

ans = {}
for v in itertools.combinations_with_replacement(range(1,(N//6)+1), 3):
    x,y,z = v
    fn = x**2 + y**2 + z**2 + x*y + y*z + z*x
    count = 3 if x == y == z else 1
    if fn in ans.keys():
        ans[fn] += count
    else:
        ans[fn] = count

for i in range(1,N+1):
    if i in ans.keys():
        print(count)
    else:
        print(0)
N = int(input())

res = [0] * N


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

            if t1 > 11000:
                break

            n = t1 - x * y - y * z - z * x - 1
            
            if n >= N:
                break
            res[n] += 1

for o in res:
    print(o)
N = int(input())
ans = [0 for _ in range(N + 1)]

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

for i in range(N):
  print(ans[i])
# 1 <= x,y,z
# x^2+y^2+z^2+xy+yz+zx = n
def calc(n):
    c = 0
    for x in range(1,31):
        for y in range(1,31):
            for z in range(1,31):
                if n == x**2+y**2+z**2+x*y+y*z+z*x:
                    c += 1
    print(c)
    c = 0
    
    
n = int(input())
for i in range(1,n+1):
    calc(i)
n= int(input())
ans=[0]*(n+1)
v=10**2
for x in range(1,v+1):
    for y in range(1,v+1):
        for z in range(1,v+1):
            cnt=pow(x,2)+pow(y,2)+pow(z,2)+x*y+y*z+z*x
            if cnt<=n:
                ans[cnt]+=1

for i in ans:
    print(i)
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)
print(len(l))
C = collections.Counter(l)
for j in range(1,n+1):
    print(C[j])
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 0 <= val <= N-1:
        lst[val-1] += 1
print(*lst[1:],sep="\n")
N=int(input())
for h in range(1,N+1):
    num=0
    for i in range(1,h-5):
        for j in range(1,h-5):
            for k in range(1,h-5):
                if i**2+j**2+k**2+i*j+j*k+k*i==h:
                    num+=1
    print(num)
N=int(input())
x=1
y=1
z=1


for i in range(N):
    cnt=0
    for x in range(i):
        for y in range(i):
            for z in range(i):
                a=(x+1)**2+(y+1)**2+(z+1)**2+(x+1)*(y+1)+(y+1)*(z+1)+(z+1)*(x+1)
                if a==i:
                    cnt+=1
    print(cnt)
n = int(input())
ans = 0
f = [0]*15000
for x in range(1,50):
    for y in range(1,50):
        for z in range(1,50):
            f[x**2+y**2+z**2+x*y+y*z+z*x]+=1
            z+=1
        y+=1
    x+=1
for i in range(1,n+1):
    print(f[i])
import math
n = int(input())
f = [0] * n
sqrt_n = int(math.sqrt(n)/2) +1
for i in range(n) :
    for x in range(1,sqrt_n) :
        for y in range(1,sqrt_n) :
            for z in range(1,sqrt_n) :
                if x*x+y*y+z*z+x*y+y*z+z*x == i+1 :
                    f[i] += 1
for _ in range(n) :
    print(f[_])
import itertools
import math
a = int(input())

def calc(x,y,z,n):
  if(n==x*x+y*y+z*z+x*y+y*z+z*x):
    return True

for i in range(1,a+1):
  l = list(range(int(math.sqrt(a+1))))
  cnt = 0;
  for x,y,z in itertools.combinations_with_replacement(l, 3):
    if(calc(x,y,z,i)):
      cnt+=1;
  print(cnt)
import itertools

N=int(input())
L=[0]*(10**4+10)
X=[x for x in range(1,13)]
plus=[0,1,3,6]

for v in itertools.combinations_with_replacement(X,3):
  x,y,z=v[0],v[1],v[2]
  temp=len(set(v))
  L[x**2+y**2+z**2+x*y+y*z+z*x]+=plus[temp]


for i in range(1,N+1):
  print(L[i])
n=int(input())
A=[0]*(n+1)
a=round(n**0.5)+2
for x in range(1,a):
  for y in range(1,a):
    for z in range(1,a):
      b=x*x+y*y+z*z+x*y+y*z+z*x
      if b<n:
        A[b]+=1
for i in range(1,n+1):
  print(A[i])
import collections
n=int(input())
lis=[]
lim=int(10000**(0.5))*int(6**(0.5))//3
for x in range(1,lim+1):
    for y in range(1,lim+1):
        for z in range(1,lim+1):
            lis.append(x**2+y**2+z**2+x*y+y*z+z*x)

c=collections.Counter(lis)
for i in range(1,n+1):
    print(c[i])
n=int(input())
a=[0]*10001
for i in range(100):
  for j in range(100):
    for k in range(100):
      v=i**2+j**2+k**2+i*j+j*k+k*i
      if v<=10000:
        a[v]+=1
for m in range(n):
  print(a[m+1])
n = int(input())
f = [0]*15000
for x in range(1,50):
    for y in range(1,50):
        for z in range(1,50):
            f[x**2+y**2+z**2+x*y+y*z+z*x-1]+=1
for i in range(n):
    print(f[i])
def resolve():
    N = int(input())
    ans = [0 for _ in range(100001)]
    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:
                    ans[tmp] += 1
    
    for i in range(1, N+1):
        print(ans[i])
    return

resolve()
N = int(input())
ans = [0]*(N+1)
for x in range(1,80):
    for y in range(1,80):
        for z in range(1,80):
            tmp = x**2 + y**2 + z**2 +x*y + y*z + z*x
            if tmp > N:
                continue
            ans[tmp]+=1
for i in range(1,N+1):
    print(ans[i])
n = int(input())

count_n = []
ans = []
for o in range(n):
  temp = 0
  for i in range(1,50):
    for j in range(1,50):
      for k in range(1,50):
        if o ==  i ** 2 + j **2 + k ** 2 + i * j + j * k + k * i:
          count_n.append(o)

for i in range(1,n+1):
  if i not in count_n:
    ans.append(0)
  else:
    ans.append(count_n.count(i))
  
print(ans)
import math

N = int(input())

ans = [0] * (N + 1)

for i in range(1, int(math.sqrt(N)) + 1):
    for j in range(1, int(math.sqrt(N)) + 1):
        for k in range(1, int(math.sqrt(N)) + 1):
            v = i * i + j * j + k * k + i * j + j * k + k * i
            if v < N:
                ans[v] += 1

for i in range(1, N + 1):
    print(ans[i])
# coding: utf-8


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

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

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


main()
# print(main())
N = int(input())
A = []
for i in range(1,46):
  for j in range(1,46):
    for k in range(1,46):
      A.append(i**2+j**2+k**2+i*j+i*k+j*k)
A = sorted(A)
B = [0]*10000
for i in range(10000):
  if A[i] < 10000:
    B[A[i]] += 1
C = B[1:N+1]
[print(i) for i in C]
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, 35):
    for y in range(1, 35):
        for z in range(1, 35):
            idx = f(x, y, z)
            if idx <= n:
                fn[idx] += 1
for i in range(1, n+1):
    print(fn[i])
N = int(input())
ans = [0] * 10050

for x in range(1, 105):
    for y in range(1, 105):
        for z in range(1, 105):

            f = x**2 + y**2 + z**2 + x*y + y*z + z*x

            if f < 10000:
                ans[f-1] = ans[f-1] + 1 


for i in range(N):
    print(ans[i])
n=int(input())
y=[0 for _ in range(10**4)]
for j in range(1,41):
   for k in range(1,58):
      for u in range(1,101):
         a=j*j+k*k+u*u+j*k+k*u+u*j
         if a <= 10**4:
            if j==k and k==u:
               y[a-1]=1
            elif j==k or k==u:
               y[a-1]=3
            else:
               y[a-1]=6
for o in range(n):
   print(y[o])
def main():
    n = int(input())

    count_list = [0] * n
    upper = int(n**0.5) + 2
    for x in range(1, upper):
        for y in range(1, upper):
            for z in range(1, upper):
                num = x**2 + y**2 + z**2 + x*y + y*z + z*x
                if num < n:
                    count_list[num-1] += 1
    for count in count_list:
        print(count)


if __name__ == '__main__':
    main()
def f(n):
  count = 0
  for i in range(n+1):
    for j in range(n+1):
      for l in range(n+1):
        if (i+j)**2 + (j+l)**2 + (l+i)**2 == 2*n:
          count += 1
  return (count)
n = int(input())
for i in range(n+1):
  f(i)
N = int(input())
ans = [0]*(N+1)
RANGE = 300
for i in range(1, RANGE):
  for j in range(1, RANGE):
    if i**2 + j**2 < N:
      for k in range(1, RANGE):
        wd = i**2 + j**2 + k**2 + i*j + j*k + k*i
        if wd < N:
          #print(wd)
          #print(i, j, k)
          ans[wd] += 1
for i in range(1,N+1):
  print(ans[i])
N = int(input())
A = []
for i in range(1,105):
  for j in range(1,105):
    for k in range(1,105):
      A.append(i**2+j**2+k**2+i*j+i*k+j*k)
A = sorted(A)
B = [0]*10050
for i in range(10050):
  B[A[i]] += 1
C = B[1:N+1]
[print(i) for i in C]
def g(x, y, z):
    return x ** 2 + y ** 2 + z ** 2 + x * y + y * z + z * x


N = int(input())
count = [0] * (N + 1)
for x in range(1, 45):
    for y in range(1, 45):
        for z in range(1, 45):
            cur = g(x, y, z)
            if cur <= N:
                count[cur] += 1
for i in range(1, N + 1):
    print(count[i])
from math import sqrt

def f(n):
    count = 0
    for x in range(int(sqrt(n))):
        for y in range(int(sqrt(n))):
            for z in range(int(sqrt(n))):
                if x**2 + y**2 + z**2 + x*y + y*z + z*x == n:
                    count += 1
    print(count)

N = int(input())
for i in range(1, N+1):
    f(i)
from collections import Counter
n = int(input())
l = list()
for i in range(31):
    l.append((i, i**2))
# print(l)
c = Counter()
for X in l:
    for Y in l:
        for Z in l:
            x = X[0]
            y = Y[0]
            z = Z[0]
            c[X[1]+Y[1]+Z[1]+x*y+y*z+x*z] += 1

for i in range(1, n+1):
    print(c[i])
n = int(input())
li = [0]*n
for i in range(1,32):
    for j in range(1,32):
        for k in range(1,32): 
            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])
N = int(input())

for n in range(N):
    x = 1
    count = 0
    while x**2 < n:
        y = 1
        while x**2 + y**2 + x*y < n:
            z = 1
            while x**2 + y**2 + z**2 + x*y + y*z + z*x <= n:
                if x**2 + y**2 + z**2 + x*y + y*z + z*x == n:
                    count += 1
                z += 1
            y += 1
        x += 1
    print(count)
n = int(input())
ans = []

for i in range(1, n + 1):
  cnt = 0
  for x in range(1, 50):
    for y in range(x, 50):
      for z in range(y, 50):
        if (x + y) ** 2 + (y + z) ** 2 + (z + x) ** 2 == i * 2:
          if x != y and y != z and z != x:
            cnt += 6
          elif x == y == z:
            cnt += 1
          else:
            cnt += 3
  ans.append(cnt)
for j in range(n):
  print(ans[j])
N = int(input())
ans = [0 for _ in range(10050)]
for i in range(105):
    for j in range(105):
        for k in range(105):
            v = i*i + j*j + k*k + k*j + i*k + i*j
            if v < 10050:
                ans[v] += 1

for i in range(N):
    print(ans[i])
n = int(input())
a = [0]*10**4
ans = 0
for i in range(1, 101):
  for j in range(1, min(i+1,101)):
    for k in range(1, min(j+1, 101)):
       if (i+j+k)**2-i*j-j*k-k*i <= 10**4:
          p = (i+j+k)**2-i*j-j*k-k*i
          if i==j==k:
             a[p-1] +=1
          else:
             a[p-1] +=3
for q in a[:n]:
  print(q)