peterverebics/CodeNet_Python_118 huggingface dataset:
N = int(input())
a = list(map(int,input().split()))
ans = 0
for i in range(N):
  if i % 2 != 0:
    if a[i] % 2 != 0:
      ans += 1
print(ans)
N = input()
a = list(map(int,input().split()))
odd = a[1::2]
count = 0
for i in odd:
  if i % 2 == 1:
    count += 1
  else:
    pass
print(count)
n = int(input())
a = list(map(int, input().split(" ")))

count = 0
for i, ai in enumerate(a):
    if i%2!=0 and ai%2!=0:
        count+=1
print(count)
n=int(input())
l=[int(X) for X in input().split()]
c=0
for i in range(len(l)):
  if l[i]%2 !=0 and i%2!=0:
    c+=1
print(c)
N = int(input())
a = list(map(int, input().split()))
ans = 0

for i in range(N):
    if i%2 == 1 and a[i]%2==1:
        ans += 1
print(ans)
n = int(input())
A = list(map(int,input().split()))
ans = 0
for i,a in enumerate(A):
    if i%2 == 1 and a%2 == 1:
        ans +=1
print(ans)
n = int(input())
a = list(map(int, input().split()))
cnt = 0
for i in range(1, len(a), 2):
    if a[i] % 2 == 1:
       cnt += 1
print(cnt)
n=int(input())
A=list(map(int,input().split()))
cnt=0
for i in range(n):
    if i%2==1 and A[i]%2==1:
        cnt+=1
print(cnt)
N = int(input())
a = list(map(int, input().split()))
cnt = 0

for i in range(N):
    if i % 2 == 1 and a[i] % 2 == 1:
        cnt += 1

print(cnt)
from sys import stdin
input = stdin.readline

N = input().rstrip()
a = [int(x) for x in input().split()]
ans = 0
for val in a:
    if (int(a.index(val)) + 1) % 2 != 0 and val % 2 != 0:
       ans = ans + 1
print(ans)
n = int(input())
a = list(map(int, input().split()))

ans = 0
for i in range(n):
    if (i + 1)%2 == 0 and a[i] % 2 == 1:
        ans += 1
print(ans)
n=int(input())
As = list(map(int,input().split()))
c=0
ans = 0
for a in As:
    c+=1
    if c%2 == 0:
        if a%2 == 1:
            ans+=1
print(ans)
n = int(input())
nums = list(map(int, input().split()))
count = 0

for i in range(n):
    if i % 2 != 0 and nums[i] % 2 != 0:
        count += 1

print(count)
from sys import stdin


def readline_from_stdin() -> str:
    return stdin.readline().rstrip


if __name__ == '__main__':
    N = int(input())
    A = input().split()
    a = [int(v) for _, v in enumerate(A)]
    print(len([v for i, v in enumerate(a) if i % 2 != 0 and v % 2 != 0]))
n=int(input())
li=list(map(int,input().split()))
ans=0

for i in range(n):
  if li[i]%2!=0 and i%2 != 0 : ans+=1

print(ans)
N= map(int, input())
a = list(map(int,input().split()))

print(a)
n=int(input())
l=list(map(int,input().split()))
count=0
for i in range(n):
    if i%2==1 and l[i]%2==1:
        count += 1
print(count)
n = int(input())
num = list(map(int,input().split()))
print(num)
# mul = int(input().split())
cnt = 0
for i in range(1,n,2):
    if(num[i] % 2 != 0):
        cnt += 1
print(cnt)
n=int(input())
l=list(map(int,input().split()))
cnt=0
for i in range(len(l)):
    if i%2==1 and l[i]%2==1:
        cnt+=1
print(cnt)
n = int(input())
a = list(map(int, input().split()))

ans = 0

for i in range(len(a)):
    if i % 2 == 1 and a[i] % 2 == 1:
        ans += 1

print(ans)
N = int(input())
a = [int(i) for i in input().split()]
ans = 0
for i in range(N):
    if not i%2 == 0:
        if not a[i]%2 == 0:
            ans += 1
print(ans)
N=int(input())
ai=list(map(int,input().split()))

ans=0

for i in range(N):
    if i%2==0:
        pass
    
    if ai[i] %2==1:
        ans+=1
print(ans)
n = int(input())
num = list(map(int, input().split()))

cnt = 0
for i in range( n // 2 + 1):
    print((2*i + 1))
    if num[2*i - 1] % 2 == 1:
        cnt += 1
print(cnt)
N=int(input())
dic={}
for i in range(1,N+1):
    dic[i]=0
for x in range(1,int(N**0.5)):
    for y in range(1,N-x**2):
        for z in range(1,N-(x**2+y**2+x*y)):
            if x**2+y**2+z**2+x*y+x*z+y*z>N:break
            if x**2+y**2+z**2+x*y+x*z+y*z in dic:
                dic[x**2+y**2+z**2+x*y+x*z+y*z]+=1


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

A = [0 for _ in range(N+1)]
n = int(N ** 0.5) + 1
for x in range(1, n):
    for y in range(1, n):
        for z in range(1, n):
            v = x*x + y*y + z*z + x*y + y*z + z*x
            if v <= N:
                A[v] += 1
for i in range(1, N+1):
    print(A[i])
from collections import defaultdict
dict=defaultdict(lambda:0)
n=int(input())

for x in range(1,100):
    for y in range(1, 100):
        for z in range(1,100):
            p=(x+y+z)**2-(x*y+y*z+z*x)
            dict[p]+=1

for i in range(1,n+1):
    print(dict[i])
N=int(input())
a=[]
for i in range(N):
  a.append(0)
for x in range(1,N+1):
  if x**2>=N:
    break
  for y in range(1,N+1):
    if x**2 + y**2 >= N:
      break
    for z in range(1,N+1):
      if x**2+y**2+z**2>=N:
        break
      t=x**2+y**2+z**2+x*y+y*z+z*x
      if t<=N:
        a[t-1] += 1
for m in range(N):
  print(a[m])
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**2 + y**2 + z**2 + x*y + y*z + z*x
            if n <= N:
                ans[n] += 1
print(*ans[1:], sep='\n')
import math
n = int(input())
ans = [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))):
            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")
L=[]
i=0
while i <100001:
    L.append(0)
    i+=1
for x0 in range(1,100):
    for y0 in range(1,100):
        for z0 in range(1,100):
            p=x0**2+y0**2+z0**2+x0*y0+y0*z0+z0*x0
            if p<10001:
                L[p]+=1
N=int(input())
for i in range(1,N+1):
    print(L[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])
n = int(input())

xyz = {}
for x in range(1, 10**2):
    for y in range(1, 10**2):
        for z in range(1, 10**2):
            num = x**2 + y**2 + z**2 + x*y + y*z + z*x
            if num in xyz.keys():
                xyz[num] += 1
            else:
                xyz[num] = 1

for i in range(1, n + 1):
    if i in xyz.keys():
        print(xyz[i])
    else:
        print(0)
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] += 1
for i in range(n):
    print(ans[i])
n = int(input())
# 答え用の配列を準備しておく
ans = [0 for i 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)):
            res = x**2+y**2+z**2+x*y+y*z+x*z
            # resの値がn以下ならカウントする
            if res<=n:
                ans[res] += 1
for i in range(1,n+1):
    print(ans[i])
N = int(input())

res = [0] * N


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

            if t1 > 15000:
                break

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

for o in res:
    print(o)
n = int(input())
cont = [0 for i in range(10050)]

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 + z*x + y*z + x*y
      if v <= 10001:
        cont[v]+=1

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

a = 2
res = dict()

for i in range(1, 142):
    for j in range(1, 142):
        for k in range(1, 142):
            tmp = int(((i + j) ** 2 + (j + k) ** 2 + (k + i) ** 2) / 2)
            res[tmp] = res.get(tmp, 0) + 1

for i in range(n):
    print(res.get(i + 1, 0))
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())
l=[0]*10**7
s=int(n**0.7)+10
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())
ans = [0]*(N+1)
f = lambda x, y, z: x**2 + y**2 + z**2 + x*y + y*z + z*x
root_N = int(N**0.5)

for x in range(1, root_N+1):
    for y in range(1, root_N+1):
        for z in range(1, root_N+1):
            i = f(x, y, z)
            if i <= N:
                ans[f(x, y, z)] += 1

print('\n'.join(map(str, ans[1:])))
n = int(input())
ans = [0 for i in range(n + 1)]
for x in range(1,int(pow(n, 0.5)+1)):
    for y in range(1,int(pow(n, 0.5)+1)):
        for z in range(1,int(pow(n, 0.5)+1)):
            if x**2 + y**2+z**2 +x*y + x*z + y*z <= n:
                ans [x**2 + y**2+z**2 +x*y + x*z + y*z] += 1
for i in range(1,n+1):
    print(ans[i])
n = int(input())
lst = [0] * 10**6
for x in range(1, 101):
  for y in range(1, 101):
    for z in range(1, 101):
      t = (x**2 + y**2 + z**2 + (x+y+z)**2) // 2
      lst[t] += 1
for i in range(1, n+1):
  print(lst[i])
n = int(input())

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

for x in range(1,100):
    for y in range(1,100):
        for z in range(1,100):
            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())
fn = [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:
        fn[n-1]+=1

print(*fn,sep="\n")
n = int(input())
L = [0]*(110**2*6+1)

for i in range(1,110):
    for j in range(1,110):
        for k in range(1,110):
            a = i**2 + j**2 + k**2 + i*j +j*k + k*i
            if a <= n:
                L[a-1] +=1
for i in range(n):
    print(L[:n+1][i])
N=int(input())
f=[0 for i in range(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+x*y+y*z+z*x
            if tmp >10000:
                continue
            f[tmp]+=1

for i in range(1,N+1):
    print(f[i])
N=int(input())
M=int(pow(N, 1/2))
ans=[0]*(N+1)
for x in range(1, M+1):
  for y in range(1, M+1):
    for z in range(1, M+1):
      tmp=x**2+y**2+z**2+x*y+y*z+z*x
      if tmp<=N:
        ans[tmp]+=1
print(*ans[1:], sep='\n')
n = int(input())
import math
lim = math.ceil(math.sqrt(n))
l = [0]*n
for x in range(1, lim):
    for y in range(1, lim):
        for z in range(1, lim):
            i = (x+y+z)**2 - (x*y + y*z + z*x)
            if (0<i) and (i<n+1):
                l[i-1] += 1
for i in l:
    print(i)
def resolve():
    n=int(input())
    a=[0]*(60000)
    nn=int(n**0.5)
    for x in range(1,nn):
        for y in range(1, nn):
            for z in range(1, nn):
                a[x**2+y**2+z**2+x*y+y*z+z*x]+=1
    for i in range(n):
        print(a[i+1])
resolve()
N = int(input())
A = [0]*N
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+z*x+y*z
            if a <= N:
                A[a-1]+= 1
for a in A:
    print(a)
n = int(input())
ans = [0] * 10010
for i in range(1, 101):
    for j in range(1, 101):
        for k in range(1, 101):
            x = i * i + j * j + k * k + i * j + j * k + k * i
            if x <= n:
                ans[x] += 1
for i in range(1, n+1):
    print(ans[i])
def resolve():
    n = int(input())
    ans = [0] * n
    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:
                    ans[a - 1] += 1
    for i in ans:
        print(i)


if __name__ == '__main__':
    resolve()
n=int(input())
ans=[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 +x*z
			if v>n:
				break
			ans[v-1]+=1

print(*ans)
n = int(input())
arr = [0] * 60000
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
            arr[n_-1] += 1

print(*arr[:n], sep='\n')
from itertools import combinations, combinations_with_replacement
from math import sqrt


n = int(input())
ans = [0] * (n + 1)
for x, y, z in combinations_with_replacement(range(1, int(sqrt(n))), 3):
    i = x ** 2 + y ** 2 + z ** 2 + x * y + y * z + z * x
    if i <= n:
        if x == y == z:
            ans[i] += 1
        elif all([(s != t) for s, t in combinations([x, y, z], 2)]):
            ans[i] += 6
        else:
            ans[i] += 3

for i in range(1, n + 1):
    print(ans[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):
            b =  x**2 + y**2 + z**2 + x*y + x*z + y*z - 1
            if b < n:
                ans[b] += 1
for a in ans:
    print(a)
def 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):
                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")


if __name__ == '__main__':
    main()
def main():
    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 a <= N:
                    ans[a] += 1
    for i in range(1, N+1):
        print(ans[i])


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

ans = [0] * (N + 5)
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:
                ans[tmp] += 1

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

n = int(input())
l = [0] * n
if n < 6:
    for i in range(n):
        print(0)
    sys.exit()
y = int(math.sqrt(n-3))
if n <= 5:
    for i in range(n):
        print(0)
for i in range(1,y):
    for j in range(1, y):
        for k in range(1, y):
            x = i ** 2 + j ** 2 + k ** 2 + i*j + i*k + j*k
            if x % 1 == 0 and x <= n:
                l[x-1] += 1
for i in l:
    print(i)
import time
import itertools
import collections

N = int(input())
start = time.time()
def function(x,y,z):
    return pow(x,2) + pow(y,2) + pow(z,2) + (x * y) + (x * z ) + (y * z)

p = list(itertools.product(range(1,100),repeat=3))
a = []

for p_in in p:
    a.append(function(p_in[0],p_in[1],p_in[2]))

dict = collections.Counter(a)

for n in range(1,N + 1):
    print(dict[n])
# -*- coding: utf-8 -*-
N = int(input())
ans_list = [0 for i in range(N + 1)]
for i in range(1, 101):
    for j in range(1, 101):
        for k in range(1, 101):
            now_num = i ** 2 + j ** 2 + k ** 2 + i * j + j * k + k * i
            if now_num > N:
                break
            ans_list[now_num] += 1

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

ans = [0 for _ in range(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


print(*ans, sep="\n")
import numpy as np
n = int(input())
res = [0]*(n+1)
for i in range(1,101):
    for j in range(1,101):
        for k in range(1,101):
            x = i*i + j*j + k*k + i*j + j*k + k*i
            if x <= n:
                res[x] += 1
for i in range(1,n+1):
    print(res[i])
N = int(input())

ans = [0] * 10**4
for x in range(1, 110):
    for y in range(1, 110):
        for z in range(1, 110):
            n = x**2 + y**2 + z**2 + x*y + y*z + z*x
            if n <= 10**4:
                ans[n-1] += 1
                
for i in range(N):
    print(ans[i])
import itertools
n = int(input())
dic = {}
for x in range(1, 101):
  for y in range(1, 101):
    for z in range(1, 101):
      f_xyz = x**2 + y**2 + z**2 + x*y + y*z + z*x
      if f_xyz in dic:
        dic[f_xyz] += 1
      else:
        dic[f_xyz] = 1
for i in range(1, n+1):
  if i in dic:
    print(dic[i])
  else:
    print(0)
N = int(input())
ans = [0]*(1+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):
            v = x*x+y*y+z*z+x*y+y*z+z*x
            
            if v<=N:
                ans[v] += 1

for i in range(1, N+1):
    print(ans[i])
def main():
    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):
                tmp = i**2 + j**2 + k**2 + i*j + j*k + k*i
                if tmp < 10**4 + 1:
                    ans[tmp] += 1

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


if __name__ == "__main__":
    main()
n = int(input())
ans = [0] * (n+1)

for x in range(1, 10**2+1):
    for y in range(1, 10**2):
        for z in range(1, 10**2):
            num = x**2 + y**2 + z**2 + x*y + y*z + z*x
            if num <= n:
                ans[num] += 1
            else:
                break

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

l = {}
for i in range(1, n+1):
    l[i] = 0

for x in range(1, min(101, n)):
    for y in range(1, min(101, n)):
        for z in range(1, min(101, n)):
            m = (x + y + z) ** 2 - (x*y + y*z + z*x)
            if m <= n:
                l[m] += 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, 101):
    for y in range(1, 101):
        for z in range(1, 101):
            ind = (x+y+z)**2-x*y-y*z-z*x
            if ind > 0 and ind < n+1:
                cnt[ind] += 1
for i in range(n):
    print(cnt[i+1])
n = int(input())
lst = [0 for _ in range(n)]

for i in range(1, 101):
    for j in range(1, 101):
        for k in range(1, 101):
            num = i ** 2 + j ** 2 + k ** 2 + i * j + j * k + i * k
            try:
                lst[num - 1] += 1
            except IndexError:
                pass
for num in lst:
    print(num)
import numpy as np

N = int(input())
#N,K,d= map(int,input().split())
#A = list(map(int,input().split()))
#S = str(input())
#T = str(input())

num=np.zeros(10**4+1)
for x in range(1,100):
    for y in range(1,100):
        for z in range(1,100):
            ans = x**2 + y**2 + z**2 + x*y + y*z + z*x
            if ans < 10**4+1:
                num[ans]+=1


for i in range(N):
    print(int(num[i+1]))
n = int(input())
dp = [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):
            res = x**2+y**2+z**2+x*y+y*z+z*x
            if res<=n:
                dp[res]+=1

for i in range(1,n+1):
    print(dp[i])
n = int(input())
arr = [0]*10100
for i in range(1,110):
    for j in range(1,110):
        for k in range(1,110):
            s = i*i+j*j+k*k+i*j+j*k+k*i;
            if s<10100:
                arr[s]+=1
for i in range(n):
    print(arr[i+1])
n=int(input())
ans = [0 for _ in range(n+1)]
for i in range(1,int((n+1)**0.5)):
    for j in range(1,n+1):
        for k in range(1,n+1):
            v = i*i+j*j+k*k+i*j+j*k+k*i
            if v > n:
                break
            ans[v]+=1
for i in range(n):
    print(ans[i+1])
n = int(input())
li = [0]*10050

for i in range(1,105):
    for j in range(1,105):
        for k in range(1,105):
            s = i*i+j*j+k*k+i*j+j*k+i*k
            
            if s<10050:
                li[s]+=1
                
for i in range(1,n+1):
    print(li[i])
# C XYZ Triplets

n = int(input())

ans = {}
for x in range(1, 99):
  for y in range(1, 99):
    for z in range(1, 99):
      k = (x+y)**2+(y+z)**2+(z+x)**2
      if k > 20000:
        break
      if k % 2 == 0:
        if not k//2 in ans:
          ans[k//2] = 1
        else:
          ans[k//2] += 1

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

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

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

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

f = [0] * (10 ** 4 + 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 <= 10 ** 4:
                f[n] += 1
print(*f[1 : N + 1], sep="\n")
N = int(input())
n = int(N**(1/2))

ans_list = [0]*(N)

for i in range(1,n):
    for j in range(1,n):
        for k in range(1,n):
            index = i**2+j**2+k**2+i*j+j*k+k*i

            if index>N:
                break

            ans_list[index-1] += 1

for i in ans_list:
    print(i)
n=int(input())
k=int(n**0.5)+1
num=[0 for i in range(n+1)]
for x in range(1,k):
  for y in range(1,k):
    for z in range(1,k): 
      w=x**2+y**2+z**2+x*y+y*z+z*x
      if w<=n:
        num[w]+=1
for i in range(1,n+1):
  print(num[i])
N = int(input())
list = [0]*(N+1)
for i in range(1,100):  
    for j in range(1,100):
        a = i*i + j*j + i*j
        for k in range(1,100):
            a = i*i + j*j + k*k + i*j +j*k + i*k
            if a <= N:
                list[a] += 1
for i in range(1,N+1):
    print(list[i])
L = 10**2+10
n = int(input())
ans = [0] * n
for i in range(1, L):
    for j in range(1, L):
        for k in range(1, L):
            x = i**2+j**2+k**2+i*j+j*k+i*k
            if x <= n:
                ans[x-1] += 1
print(*ans, sep="\n")
import sys
import collections

sys.setrecursionlimit(10 ** 8)

input = sys.stdin.readline


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

    c = collections.Counter()

    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] += 1

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


if __name__ == '__main__':
    main()
a = int(input())
b = round(a**0.5) + 1
x = []
for i in range(1,b):
    for j in range(1,b):
        for k in range(1,b):
            l = i**2 + j**2 + k**2 + i*j + j*k + k*i
            x.append(l)

t = [0] * a
for i in range(0,len(x)):
    if x[i] <= a:
        t[x[i]-1] = t[x[i]-1] + 1

for i in t:
    print(i)
import math

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

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

lim = math.floor(math.sqrt(n))
rng = range(1, lim)

for x in rng:
  for y in rng:
    for z in rng:
      v = f(x, y, z)
      if v <= n:
      	fs[v - 1] += 1
      
for i in range(n):
  print(fs[i])
N = int(input())
limit = 100
memo = {}

for a in range(1, limit):
  for b in range(1, limit):
    for c in range(1, limit):
      t = a**2 + b**2 + c**2 + a*b + b*c + c*a
      if not t in memo:
        memo[t] = 1
      else:
        memo[t] += 1
        
for i in range(1, N+1):
  if not i in memo:
    print(0)
  else:
    print(memo[i])
n = int(input())

isEnd = False
sum = [0]*n

for x in range(1,100):
    x2 = x*x
    for y in range(1,100):
        sum_xy = x2 + y*(x+y)
        if sum_xy > n:
            break
        for z in range(1,100):
            tmp = sum_xy + z*(x+y+z)
            if tmp > n:
                break
            if tmp <= n:
                sum[tmp-1]+=1
for s in sum:
    print (s)
n = int(input())

n_list = [0]*50000
for x in range(1,100):
    for y in range(1,100):
        for z in range(1,100):
            if x+y+z >= 150:
                break
            index = x*x + y*y + z*z + x*y + y*z + z*x
            n_list[index] = n_list[index]+1

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

ans = [0] * (n+1)
for x in range(100):
    for y in range(100):
        for z in range(100):
            m = x**2 + y**2 + z**2 + x*y + y*z + z*x
            if 1 <= x * y * z and 0 <= m <= n:
                ans[m] += 1

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