Harryxun/stf_run huggingface dataset:
n = input() # データの個数
a = list(map(int, input().split()))
t = 0

while True:
  for i in len(n):
    if a(i-1) % 2 == 0:
      a(i-1) == a(i-1)/2
      if i ==n:
        t += 1
      else:
        pass
    else:
      break

print(t)

### FIXED CODE ###

n = int(input())
a = list(map(int, input().split()))

ans = 0
t=0

while True:
    for i in range(n):  # 0 1 2 ... n-1
        if a[i] %2 ==0:
            a[i] = a[i] / 2
        else:
            t = 1
    if t != 1:
        ans += 1
    else:
        break

print(ans)
import sys
import math

lines = str(sys.stdin.read()).strip().split("\n")

for line in lines:
    line = int(line)
    pList = []
    sList = list(reversed(list(range(3, line + 1))[::2]))
    while sList[-1] < int(math.ceil(math.sqrt(line))) + 1 :
        pList.append(sList.pop())
        for p in pList:
            sList = list(filter(lambda i: i % p != 0, sList))
    pList.extend(sList)
    pList.append(2)
    print(len(pList))

### FIXED CODE ###

import sys
import math


LIMIT = 1000000
p = 2
pList = [True] * (LIMIT + 1)


while p ** 2 <= LIMIT:
    if(pList[p]):
        for i in range(p * 2, LIMIT + 1 , p):
            pList[i] = False
    p += 1

# print(pList)


lines = str(sys.stdin.read()).strip().split("\n")

for line in lines:
    line = int(line)
    count = 0
    for i in range(2, line + 1):
        if pList[i]:
            count += 1
    print(count)
N=int(input())
A= list(map(int,input().split()))

for i in range(N):
    S+=1/A[i]

print(1/S)


### FIXED CODE ###

N=int(input())
A= list(map(int,input().split()))
S=0

for i in A:
    S+=1/i

print(1/S)
a = input()
b = input()
if a<b:
    print('a < b')
elif a>b:
    print('a > b')
elif a==b:
    printf('a == b')


### FIXED CODE ###

st = input()
stin = st.split()
a = int(stin[0])
b = int(stin[1])
if a<b:
    print('a < b')
elif a>b:
    print('a > b')
elif a==b:
    print('a == b')
import math
from scipy.special import comb

N, M = map(int, input().split())
print(math.floor(comb(N, 2)+comb(M, 2)))


### FIXED CODE ###

def comb(a):
    if a < 2:
        return 0
    else:
        return a * (a-1) // 2


N, M = map(int, input().split())
print(comb(N)+comb(M))
s=[0]*25
s[11]=1
d=[0]*13
n=int(input())
a=list(map(int,input().split()))
d=[a.count(i)for i in range(12)]
if max(d[0],d[12])<2 and max(d[1:12])<3:
    if d[12]==1:
        s[0]=1
        s[-1]=1
    t=[]
    for i in range(1,12):
        if d[i]==2:
            s[12-i]=1
            s[12+i]=1
        elif d[i]==1:
            t.append(i)
    k=0
    for i in range(s**len(t)):
        p=bin(i)[2:]
        p="0"*(len(t)-len(p))+p
        r=s[:]
        for j in range(len(t)):
            if p[j]=="0":
                r[12-t[j]]=1
            else:
                r[12+t[j]]=1
        r=2*r
        h=0
        q=0
        ans=0
        for j in r:
            if j==1:
                if h==0:
                    q=1
                    h=1
                else:
                    ans=min(q,ans)
                    q=1
            else:
                q+=1
        k=max(ans,k)
    print(k)
else:
    print(0)

### FIXED CODE ###

s=[0]*24
s[12]=1
n=int(input())
a=list(map(int,input().split()))
d=[a.count(i)for i in range(13)]
d[0]+=1
if max(d[0],d[12])<2 and max(d[1:-1])<3:
    if d[12]==1:
        s[0]=1
    t=[]
    for i in range(1,12):
        if d[i]==2:
            s[12-i]=1
            s[12+i]=1
        elif d[i]==1:
            t.append(i)
    k=0
    for i in range(2**len(t)):
        p=bin(i)[2:]
        p="0"*(len(t)-len(p))+p
        r=s[:]
        for j in range(len(t)):
            if p[j]=="0":
                r[12-t[j]]=1
            else:
                r[12+t[j]]=1
        h=0
        q=0
        ans=30
        for j in 2*r:
            if j==1:
                if h==0:
                    q=1
                    h=1
                else:
                    ans=min(q,ans)
                    q=1
            else:
                q+=1
        k=max(ans,k)
    print(k)
else:
    print(0)
# -*- coding: Shift-JIS -*-
import sys 
read = sys.stdin.buffer.read
readline = sys.stdin.buffer.readline
readlines = sys.stdin.buffer.readlines
MOD = 998244353

class BIT2:
    """ 区間加算BIT(区間加算・区間合計取得) """
    def __init__(self, N):
        self.N = (N+1)
        self.data0 = [0] * (N+1)
        self.data1 = [0] * (N+1)
        
    def _add(self, data, k, x):
        while k < self.N: #k <= Nと同義
            data[k] += x
            k += k & -k

    def _sum(self, data, k):
        s = 0
        while k:
            s += data[k]
            k -= k & -k
        return s

    def add(self, l, r, x):
        """ 区間[l,r)に値xを追加 """
        self._add(self.data0, l, -x*(l-1))
        self._add(self.data0, r, x*(r-1))
        self._add(self.data1, l, x)
        self._add(self.data1, r, -x)

    def sum(self, l, r):
        """ 区間[l,r)の和を取得 """
        return self._sum(self.data1, r-1) * (r-1) + self._sum(self.data0, r-1) - self._sum(self.data1, l-1) * (l-1) - self._sum(self.data0, l-1)
    
N, K = map(int, readline().split())
bit = BIT2(N)
d = []
for _ in range(K):
    L,R = map(int, readline().split())
    d.append((L,R))
    
d = sorted(d)
bit.add(1,2,1)

for i in range(2,N+1):
    for k in range(K):
        L,R = d[k]
        if i-L > 0:
            tmp = bit.sum(max(1,i-R),i-L+1)%MOD
            bit.add(i,i+1,tmp)
        else:
            break
print(bit.sum(N,N+1))

### FIXED CODE ###

# -*- coding: utf-8 -*-
import sys 
read = sys.stdin.buffer.read
readline = sys.stdin.buffer.readline
readlines = sys.stdin.buffer.readlines
MOD = 998244353
N, K = map(int, readline().split())
data = []
for _ in range(K):
    L,R = map(int, readline().split())
    data.append((L,R))
    
data = sorted(data)
A = [0]*(N+1)
A[1] = 1
S = [0]*(N+1)
S[1] = 1

for i in range(2,N+1):
    for k in range(K):
        L,R = data[k]
        A[i] += (S[max(0,i-L)]- S[max(0,i-R-1)]) % MOD
        A[i] %= MOD
    S[i] = (S[i-1] + A[i]) % MOD

print(A[N])
results=[]
while True:
    a=input().split("\"")
    if a[0]==".":
        break
    b=input().split("\"")
    count1=0
    count2=0
    for i in range(int(len(a))):
        if(i%2==1):
            for k,l in zip(a[i],b[i]):
                if(k!=l):
                    count1+=1
        else:
            for k,l in zip(a[i],b[i]):
                if(k!=l):
                    count2+=1
        if len(a) != len(b):
            results.append(2)
        else:
            if count1==0 and count2==0:
                results.append(0)
            elif count1==1 and count2==0:
                results.append(1)
            else:
                results.append(2)
for i in results:
    if i==0:
        print("IDENTICAL")
    if i==1:
        print("CLOSE")
    if i==2:
        print("DIFFERENT")


### FIXED CODE ###

results=[]
while True:
    a=input().split("\"")
    if a[0]==".":
        break
    b=input().split("\"")
    count1=0
    count2=0
    if len(a) != len(b):
        results.append(2)
    else:
        for i in range(len(a)):
            if(i%2==1):
                if len(a[i]) != len(b[i]):
                    count1+=1
                else:
                    for k,l in zip(a[i],b[i]):
                        if(k!=l):
                            count1+=1
            else:
                if len(a[i]) != len(b[i]):
                    count2+=1
                else:
                    for k,l in zip(a[i],b[i]):
                        if(k!=l):
                            count2+=1           
        if count1==0 and count2==0:
            results.append(0)
        elif count1==1 and count2==0:
            results.append(1)
        else:
            results.append(2)
for i in results:
    if i==0:
        print("IDENTICAL")
    if i==1:
        print("CLOSE")
    if i==2:
        print("DIFFERENT")
import itertools
import numpy as np
N,Ma,Mb=map(int,input().split())
yaku=[]
for _ in range(N):
    yaku.append(list(map(int,input().split())))


candi_money=[]

for n in range(N):
    candis=list(itertools.combinations(np.arange(N),n))
    for candi in candis:
        a,b,c=0,0,0
        for num in candi:
            a +=yaku[num][0]
            b +=yaku[num][1]
            c +=yaku[num][2]
        if a/flaot(Ma/Mb)=b:
            candi_money.append(c)


if len(candi_money)==0:
	print(-1)
else:
	print(min(candi_money))

### FIXED CODE ###

input = input().split()
A,B=int(input[0]),int(input[1])
 
if A==1:
    A+=13
if B==1:
    B+=13
 
if A==B:
    print("Draw")
elif A>B:
    print("Alice")
else:
    print("Bob")
def digitsums(N):
    digsum = 0
    for i in range(len(str(N))):
        digsum = digsum + int(N % 10)
        N = N / 10
    return digsum
K = int(input())
pcount=0
for n in range(1,10**15):
    for m in range(n+1,10**15):
        if(n/digitsums(n)<=m/digitsums(m)):
            pcount = pcount+1
            print(n)
            break
    if(pcount>=K):
        break


### FIXED CODE ###

def main(S):
    charlist = list(S)
    out = 0
    for c in charlist:
        if(c=='+'): 
            out = out + 1
        else:  
            out = out - 1
    print(out)
S = input()
main(S)
from itertools import combinations
n = int(input())

isprime = [True for i in range(55556)]
isprime[0] = False
isprime[1] = False
for i in range(4, 55556, 2):
    isprime[i] = False
for i in range(3, 237):
    if isprime[i]:
        for j in range(i*3, 55556, i*2):
            isprime[j] = False
ans = []
for i in range(55556):
    flag = False
    if isprime[i]:
        if len(ans) >= 4:
            for c in combinations(ans, 4):
                if isprime[sum(c) + i]:
                    flag = True
                    break
            if flag:
                continue
        ans.append(i)
    if len(ans) == n:
        break
for i in ans:
    print(i, end=' ')

### FIXED CODE ###

n = int(input())

isprime = [True for i in range(55556)]
isprime[0] = False
isprime[1] = False
for i in range(4, 55556, 2):
    isprime[i] = False
for i in range(3, 237):
    if isprime[i]:
        for j in range(i*3, 55556, i*2):
            isprime[j] = False
ans = []
for i in range(55556):
    flag = False
    if isprime[i] and i % 5 == 1:
        ans.append(i)
    if len(ans) == n:
        break
for i in ans:
    print(i, end=' ')
import sys, os
import collections

def solve(input_stream):
  table = {
    "A": "T",
    "T": "A",
    "C": "G",
    "G": "C"
  }
  ans = ""
  for i in input_stream.readline():
    ans += table[i]
  return [ans]

if __name__ == "__main__":
    outputs = solve(sys.stdin)
    for line in outputs:
      print(line)

### FIXED CODE ###

import sys, os
import collections

def solve(input_stream):
  table = {
    "A": "T",
    "T": "A",
    "C": "G",
    "G": "C"
  }
  ans = ""
  for i in input_stream.readline().strip():
    ans += table[i]
  return [ans]

if __name__ == "__main__":
    outputs = solve(sys.stdin)
    for line in outputs:
      print(line)
i=input;i(eval(i()+'+'+i())if'1'<i()else'Hello World')

### FIXED CODE ###

*a,=map(int,open(0).read().split())
print(a[1]+a[2]if a[0]>1else'Hello World')
import math
from collections import Counter
N, P = map(int, input().split())
if P == 1:
    print(1)
elif N == 1:
    print(P)
else:
    Eratosthenes = [p for p in range(2, math.ceil(P ** 0.5))]
    number = Eratosthenes[0]
    sosuu = []
    while number < P ** 0.25:
        sosuu.append(number)
        n_Eratosthenes = []
        for n in Eratosthenes:
            if n % number == 0:
                pass
            else:
                n_Eratosthenes.append(n)
        if len(n_Eratosthenes) == 0:
            break
        number = n_Eratosthenes[0]
        Eratosthenes = n_Eratosthenes
    numbers=sosuu+Eratosthenes
    suuji=0
    answers=[]
    while P>1:
        number=numbers[suuji]
        if P%number==0:
            answers.append(number)
            P=P//number
        else:
            suuji+=1
    kotae=Counter(answers)
    answer=1
    for key,value in kotae.items():
        if value>=N:
            answer*=key
    print(answer)


### FIXED CODE ###

import math
from collections import Counter
N, P = map(int, input().split())
if P == 1:
    print(1)
elif N == 1:
    print(P)
else:
    Eratosthenes = [p for p in range(2, math.ceil(P ** 0.5))]
    number = Eratosthenes[0]
    sosuu = []
    while number < P ** 0.25:
        sosuu.append(number)
        n_Eratosthenes = []
        for n in Eratosthenes:
            if n % number == 0:
                pass
            else:
                n_Eratosthenes.append(n)
        if len(n_Eratosthenes) == 0:
            break
        number = n_Eratosthenes[0]
        Eratosthenes = n_Eratosthenes
    numbers=sosuu+Eratosthenes
    suuji=0
    answers=[]
    while P>1 and suuji<len(numbers):
        number=numbers[suuji]
        if P%number==0:
            answers.append(number)
            P=P//number
        else:
            suuji+=1
    kotae=Counter(answers)
    answer=1
    for key,value in kotae.items():
        kazu=value//N
        if kazu==0:
            continue
        else:
            answer*=(key**kazu)
    print(answer)
a = input()
b = input()

counter = {}
for c in a:
    if not c in counter:
        counter[c] = 1
    else:
        counter[c] += 1
counter_2 = {}
for c in a:
    if not c in counter_2:
        counter_2[c] = 1
    else:
        counter_2[c] += 1
if conter == counter_2:
    print(True)
else:
    print(False)

### FIXED CODE ###

s = input()
t = input()
c = list(s)
d = list(t)
for i in range(len(c)):
    c.insert(0, c[-1])
    del c[-1]
    if c == d:
        print("Yes")
        break
    if i == len(c) -1:
        print("No")
n=int(input())
s=list(input() for i in range(n))
m=[]
a=[]
r=[]
c=[]
h=[]
ans=1
for i in range(n):
    if s[i][0] == "M" and not s[i] in m:
        m.append(s[i])
    elif s[i][0] == "A" and not s[i] in a:
        a.append(s[i])
    elif s[i][0] == "R" and not s[i] in r:
        r.append(s[i])
    elif s[i][0] == "C" and not s[i] in c:
        c.append(s[i])
    elif s[i][0] == "H" and not s[i] in h:
        h.append(s[i])
num=len(m)+len(a)+len(r)+len(c)+len(h)
if num == 0:
    print(0)
else:
    lis = list(len(m),len(a),len(r),len(c),len(h))
    for i in range(5):
        if lis[i]>0:
            ans = ans*lis[i] 
    print(ans)

### FIXED CODE ###

n=int(input())
s=list(input() for i in range(n))
mc=ac=rc=cc=hc=0
cnt=0
for i in range(n):
    if s[i][0] == "M":
        mc+=1
    elif s[i][0] == "A":
        ac+=1
    elif s[i][0] == "R":
        rc+=1
    elif s[i][0] == "C":
        cc+=1
    elif s[i][0] == "H":
        hc+=1
lis = [mc,ac,rc,cc,hc]
if sum(lis) == 0:
    print(0)
else:
    for i in range(5):
        for j in range(i+1,5):
            for k in range(j+1,5):
                cnt+=lis[i]*lis[j]*lis[k]
    print(cnt)
a, b = map(int, input().split())
print(math.ceil(a*b/2))

### FIXED CODE ###

import math
a, b = map(int, input().split())
print(math.ceil((a+b)/2))
INFTY = 10**8
N,W = map(int,input().split())
A = [list(map(int,input().split())) for _ in range(N)]
w = A[0][0]
C = {i:0 for i in range(4)}
for i in range(N):
    C[A[i][0]-w] += 1
dp = [[[[[-INFTY for _ in range(C[3]+1)] for _ in range(C[2]+1)] for _ in range(C[1]+1)] for _ in range(C[0]+1)] for _ in range(N+1)]
for n in range(N+1):
    dp[n][0][0][0][0] = 0
for n in range(1,N+1):
    for i in range(C[0]+1):
        for j in range(C[1]+1):
            for k in range(C[2]+1):
                for l in range(C[3]+1):
                    dp[n][i][j][k][l] = dp[n-1][i][j][k][l]
                    if A[n-1][0]-w==0:
                        if i>=1: dp[n][i][j][k][l]= max(dp[n][i][j][k][l],dp[n-1][i-1][j][k][l]+A[n-1][1])
                    elif A[n-1][0]-w==1:
                        if j>=1: dp[n][i][j][k][l]= max(dp[n][i][j][k][l],dp[n-1][i][j-1][k][l]+A[n-1][1])
                    elif A[n-1][0]-w==2:
                        if k>=1: dp[n][i][j][k][l]= max(dp[n][i][j][k][l],dp[n-1][i][j][k-1][l]+A[n-1][1])
                    elif A[n-1][0]-w==3:
                        if l>=1: dp[n][i][j][k][l]= max(dp[n][i][j][k][l],dp[n-1][i][j1][k][l-1]+A[n-1][1])
vmax = 0
for i in range(C[0]+1):
    for j in range(C[1]+1):
        for k in range(C[2]+1):
            for l in range(C[3]+1):
                if (i+j+k+l)*w+j+2*k+3*l<=W:
                    vmax = max(vmax,dp[N][i][j][k][l])
print(vmax)

### FIXED CODE ###

INFTY = 10**10
N,W = map(int,input().split())
X = [list(map(int,input().split())) for _ in range(N)]
dp = [[[-INFTY for _ in range(3*(N-1)+1)] for _ in range(N+1)] for _ in range(N+1)]
for i in range(N+1):
    dp[i][0][0] = 0
for i in range(1,N+1):
    for j in range(1,i+1):
        for k in range(3*(N-1)+1):
            dp[i][j][k] = dp[i-1][j][k]
            if k>=X[i-1][0]-X[0][0]:
                dp[i][j][k] = max(dp[i][j][k],dp[i-1][j-1][k-X[i-1][0]+X[0][0]]+X[i-1][1])
cmax = 0
for j in range(1,N+1):
    for k in range(3*(N-1)+1):
        if j*X[0][0]+k<=W:
            cmax = max(cmax,dp[N][j][k])
print(cmax)
N = int(input())
K = int(input())

ans = 1

for i in range(N):
    ans = min(ans * 2 , ans + K)

print(an

### FIXED CODE ###

N = int(input())
K = int(input())

ans = 1

for i in range(N):
    ans = min(ans * 2 , ans + K)

print(ans)
n , m = map(int, input().split())
s = input()
t = input()

def gcd(num1,num2):
    r=1
    while r!=0:
        r=num1%num2
        num1=num2
        num2=r
    return num1

def lcm(num1,num2):
    return num1*num2//gcd(num1,num2)

g1 = lcm(n,m)
g2 = lcm(g1//n,g1//m)

s*=g1//n
t*=g1//m

for i in range(n//g2):
    if s[g2*i]!=t[g2*i]:
        print('-1')
        exit()
print(g1)


### FIXED CODE ###

n , m = map(int, input().split())
s = input()
t = input()

def gcd(num1,num2):
    r=1
    while r!=0:
        r=num1%num2
        num1=num2
        num2=r
    return num1

def lcm(num1,num2):
    return num1*num2//gcd(num1,num2)

g1 = lcm(n,m)
g2 = lcm(g1//n,g1//m)

for i in range(g1//g2):
    if s[g2*n*i//g1]!=t[g2*m*i//g1]:
        print('-1')
        exit()
print(g1)
A, B, K = map(int, input().split())

for i in range(A, min(A+K, B)):
    print(i)

for j in range(max(A, B-K+1), B+1): 
    if j <= i:
        pass
    else:
        print(j)

### FIXED CODE ###

A, B, K = map(int, input().split())

if A+K > B:
    for i in range(A, B+1):
        print(i)

else:
    for i in range(A, A+K):
        print(i)
    
    for j in range(max(i, B-K), B):
        print(j+1)
h,w=map(int,input().split())
grid=[list(input())  for i in range(h)]

dx=[-1,0,1,0]
dy=[0,1,0,-1]
for i in range(h):
    for j in range(w):
        if grid[i][j]=='#':
            flag=False
            for k in range(4):
                x=i+dx[k]
                y=j+dy[k]
                if 0<=x<w and 0<=y<h and grid[x][y]=='#':
                    flag=True
                    break
            if flag:
                continue
            else:
                print('No')
                exit()
print('Yes')

### FIXED CODE ###

h,w=map(int,input().split())
grid=[list(input())  for i in range(h)]

dx=[-1,0,1,0]
dy=[0,1,0,-1]
for i in range(h):
    for j in range(w):
        if grid[i][j]=='#':
            flag=False
            for k in range(4):
                x=i+dx[k]
                y=j+dy[k]
                if 0<=x<h and 0<=y<w and grid[x][y]=='#':
                    flag=True
                    break
            if flag:
                continue
            else:
                print('No')
                exit()
print('Yes')
# encoding: utf-8


import sys


def solve(a, b, h):
    return (a + b) * h / 2


def main():
    a = sys.stdin.readline().rstrip()
    int(a)
    b = sys.stdin.readline().rstrip()
    int(b)
    h = sys.stdin.readline().rstrip()
    int(h)
    print solve(a, b, h)


if __name__ == "__main__":
    main()


### FIXED CODE ###

def solve(a, b, h):
    return (a + b) * h / 2


a = raw_input()
a = int(a)
b = raw_input()
b = int(b)
h = raw_input()
h = int(h)
ans = solve(a, b, h)
print ans
def solve(): # 072D- Derangement
    N = int(input())
    p = list(map(int, input().split(" ")))
    cnt = 0

    for i in range(1, N):
        if i == p[i-1]:
            p[i], p[i+1] = swap(p[i], p[i+1])
            cnt += 1
        elif i == N:
            p[i-1], p[i] = swap(p[i-1], p[i])
            cnt += 1
        else:
            pass

    if cnt == 0:
        print(0)
    else:
        print(cnt + 1)
        
     
solve()

### FIXED CODE ###

def swap(a, b):
    tmp = a
    a = b
    b = tmp
    return a, b


def solve(): # 072D- Derangement
    N = int(input())
    p = list(map(int, input().split(" ")))
    p.insert(0, 0)
    cnt = 0

    for i in range(1, N+1):
        if i == p[i] and i != N:
            p[i], p[i+1] = swap(p[i], p[i+1])
            cnt += 1
        elif i == N and i == p[i]:
            p[i-1], p[i] = swap(p[i-1], p[i])
            cnt += 1
        else:
            pass

    print(cnt)
    
    
solve()
def solution(path1, path2, path3):
    counts = [0, 0, 0, 0]
    paths = [path1, path2, path3]
    for path in paths:
        counts[path[0]] += 1
        counts[path[1]] += 1

    countsOfCounts = [0, 0]
    for count in counts:
        if count == 1:
            if countsOfCounts[0] == 2:
                return "NO"
            countsOfCounts[0] += 1
        elif count == 2:
            if countsOfCounts[1] == 2:
                return "NO"
            countsOfCounts[1] += 1
        else:
            return "NO"
    return "YES"


path1 = [int(s) for s in input().split(' ')]
path2 = [int(s) for s in input().split(' ')]
path3 = [int(s) for s in input().split(' ')]

print(solution(path1, path2, path3))


### FIXED CODE ###

def solution(path1, path2, path3):
    counts = [0, 0, 0, 0]
    paths = [path1, path2, path3]
    for path in paths:
        counts[path[0] - 1] += 1
        counts[path[1] - 1] += 1

    countsOfCounts = [0, 0]
    for count in counts:
        if count == 1:
            if countsOfCounts[0] == 2:
                return "NO"
            countsOfCounts[0] += 1
        elif count == 2:
            if countsOfCounts[1] == 2:
                return "NO"
            countsOfCounts[1] += 1
        else:
            return "NO"
    return "YES"


path1 = [int(s) for s in input().split(' ')]
path2 = [int(s) for s in input().split(' ')]
path3 = [int(s) for s in input().split(' ')]

print(solution(path1, path2, path3))
N=int(input())
ans=[0]*N
for x in range(1,N+1):
    if x**2>N:
        break
    for y in range(x,N+1):
        if x**2+y**2>N:
            break
        for z in range(y,N+1):
            if x**2+y**2+z**2>N:
                break
            if x**2+y**2+z**2+x*y+y*z+z*x<=N+1:
                ans[x**2+y**2+z**2+x*y+y*z+z*x-1]=3
if N>=6:
    ans[5]=1
for i in ans:
    print(i)

### FIXED CODE ###

from itertools import permutations
N=int(input())
ans=[0]*(10**6)
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
            else:
                kari=[x,y,z]
                #print(kari)
                if x**2+y**2+z**2+x*y+y*z+z*x<=10**5:
                    ans[x**2+y**2+z**2+x*y+y*z+z*x-1]+=1
                    
for i in range(N):
    print(ans[i])
import numpy as np
n = int(input())
ai = np.array(list(map(int, input().split())))

# n=3
# ai = np.array([1, 2, 3])

ai = ai[np.newaxis, :]

ai2 = ai.T.dot(ai)
ai2u = np.triu(ai2, k=1)

s = ai2u.sum()


# l = len(ai)
# 
# s = 0
# for j in range(l):
#     for i in range(j+1, l):
#         s += ai[j] * ai[i]

ans = s % (1000000000 + 7)

print(ans)


### FIXED CODE ###

n = int(input())
ai = list(map(int, input().split()))

# n=3
# ai = np.array([1, 2, 3])

# ai = ai[np.newaxis, :]
# 
# ai2 = ai.T.dot(ai)
# ai2u = np.triu(ai2, k=1)
# 
# s = ai2u.sum()


l = len(ai)

integ = [ai[0]] * len(ai)
for i in range(1, len(ai)):
    integ[i] = integ[i-1] + ai[i]

s = 0
for j in range(l):
    this_s = integ[-1] - integ[j]
    s += ai[j] * this_s

ans = s % (1000000000 + 7)

print(ans)
n=[1, 1, 1, 2, 1, 2, 1, 5, 2, 2, 1, 5, 1, 2, 1, 14, 1, 5, 1, 5, 2, 2, 1, 15, 2, 2, 5, 4, 1, 4, 1, 51]
print(n[int(input())+1])

### FIXED CODE ###

n=[1, 1, 1, 2, 1, 2, 1, 5, 2, 2, 1, 5, 1, 2, 1, 14, 1, 5, 1, 5, 2, 2, 1, 15, 2, 2, 5, 4, 1, 4, 1, 51]
print(n[int(input())-1])