Harryxun/stf_run huggingface dataset:
data = [
    [[0 for r in range(10)] for f in range(3)] for
]

count = int(input())
for c in range(count):
    b, f, r, v = [int(i) for i in input().split()]
    data[b-1][f-1][r-1] += v
    
for bi, b in enumerate(data):
    for f in b:
        for r in f:
            print(' {0}'.format(r), end='')

        print()

    if bi < 3:
        print(

### FIXED CODE ###

data = [
    [[0 for r in range(10)] for f in range(3)] for b in range(4)
]

count = int(input())
for c in range(count):
    b, f, r, v = [int(i) for i in input().split()]
    data[b-1][f-1][r-1] += v
    
for bi, b in enumerate(data):
    for f in b:
        for r in f:
            print(' {0}'.format(r), end='')

        print()

    if bi < 3:
        print('#' * 20)
if A+B+C <= K:
    print(A-C)

elif A+B <= K:
    print(A)

elif A <= K:
    print(K)

### FIXED CODE ###

A,B,C,K = map(int,input().split())
sum = 0;
if A <= K:
	sum += A;
	K -= A
else:
	sum += K;
	K -= K
if B <= K:
	K -= B
else:
	K -= K
if C <= K:
	sum -= C
	K -= C
else:
	sum -= K
	K -= K
print(sum)
a = A//K
# b = B//K
C = K * (a+1)

# if K > B:
    # print ("NG")


if C <= B:
    print ("OK")
else:
    print ("NG")

### FIXED CODE ###

import math

# K = 1
# A, B = 11, 11

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

a = math.ceil(A/K)
# b = B//K
C = K * (a)

# if K > B:
    # print ("NG")


if C <= B:
    print ("OK")
else:
    print ("NG")
N = int(input())
a = list(map(int,input().split()))
import math
ans = a[0]
for i in range(1,N):
    ans = math.gcd(ans,a[i])
print(ans)

### FIXED CODE ###

def gcd(a,b):
    return gcd(b, a % b) if b else abs(a)
N = int(input())
a = list(map(int,input().split()))
import math
ans = a[0]
for i in range(1,N):
    ans = gcd(ans,a[i])
print(ans)
n,p,m = list(map(int,input().split()))

seen = {}
ans = p%m
seen[p%m]=1
T = {}
T[1] = ans
last_p = p%m

r = 0

if n==1:
  print(p%m)
else:
  for i in range(2,m+1000):
    p = p ** 2
    p = p % m
    
    if p not in seen:
      seen[p]=i
    else:
      r = i-seen[p]
     # print(r, i, seen[p], p)
      last_p = p
      break
    
    ans += p
    T[i] = ans
    
    #last_p = p
    
    if i==n:
      print(ans)
      exit()
    
    
temp = T[seen[p]-1]
#print(temp)
ans -= temp
n -= seen[p]
#print(492443256176507)
#print(p, 'p')
    
k = n//r
ans *= k
ans += temp

n = n % r
if n==0:
  print(ans+last_p)
  exit()

for i in range(1,m+1000):
  p = p ** 2
  p = p % m
  ans += p
  if i==n:
    print(ans+last_p)
    exit()
      
      
    

### FIXED CODE ###

n,p,m = list(map(int,input().split()))

seen = {}
ans = p%m
seen[p%m]=1
T = {}
T[1] = ans
T[0] = 0
last_p = p%m

r = 0

if n==1:
  print(p%m)
  exit()
else:
  for i in range(2,m+1000):
    p = p ** 2
    p = p % m
    
    if p not in seen:
      seen[p]=i
    else:
      r = i-seen[p]
      last_p = p
      break
    
    ans += p
    T[i] = ans
    
    if i==n:
      print(ans)
      exit()
    
    
temp = T[seen[p]-1]
ans -= temp
n -= seen[p]

k = n//r
ans *= k
ans += temp

n = n % r

if n==0:
  print(ans+last_p)
  exit()

for i in range(1,m+1000):
  p = p ** 2
  p = p % m
  ans += p
  if i==n:
    print(ans+last_p)
    exit()
n,k=map(int,input().split())
a=list(map(int,input().split()))
d={}
for i in a:
    d[i]=d.get(i,0)+1
c=0
while len(d)>k:
    x=min(d, key=d.get)
    c+=d[x]
    del d[x]
print(c)


### FIXED CODE ###

s=input()
m=0
for i in s:
    if i=="1":
        m+=1
print(m)
N,M = map(int, input().split())

_list = [-1]*(N+1)

for m in range(M):
  s,c = map(int, input().split())
  
  # 条件を満たさない
  if _list[s] != -1 and _list[s] != c:
    print(-1)
    exit()
  
  else:
    _list[s] = c
  
ans = ''
for idx, _ in ennumerate(_list[1:]):
  if _ == -1:
    # 1桁目は1、そうでなかったら０にする
    if idx != 0:
      ans += '0'
    else:
      ans += '1'
  else:
    ans += str(_)

# 1桁目が0なのはNG
if N > 1 and ans[0] == '0':
  print(-1)
  exit()
else:
  print(int(ans))

### FIXED CODE ###

N,M = map(int, input().split())

_list = [-1]*(N+1)

for m in range(M):
  s,c = map(int, input().split())
  # 条件を満たさない
  if _list[s] != -1 and _list[s] != c:
    print(-1)
    exit()
  else:
    _list[s] = c
  
ans = ''
for idx, _ in enumerate(_list[1:]):
  if _ == -1:
    # 1桁目は1、そうでなかったら０にする
    if idx != 0:
      ans += '0'
    else:
      ans += '1'
  else:
    ans += str(_)

# 1桁目が0なのはNG
if N > 1 and ans[0] == '0':
  print(-1)
elif M == 0:
  if N == 1:
    print(0)
  elif N == 2:
    print(10)
  elif N == 3:
    print(100)
else:
  print(int(ans))
from collections import Counter

def main(n,k,r,s,p,t):
    score = 0
    for i in range(len(t)):
        if i < k:
            continue
        if t[i] == t[i-k]:
            t[i] = "N"
    c = Counter(t)
    i = dict(c)
    score += i["r"]*p + i["s"]*r + i["p"]*s
    return score
    
n,k = map(int, input().split())
r,s,p = map(int, input().split())
t = list(input())
print(main(n,k,r,s,p,t))

### FIXED CODE ###

from collections import Counter
from collections import defaultdict

def main(n,k,r,s,p,t):
    score = 0
    for i in range(len(t)):
        if i < k:
            continue
        if t[i] == t[i-k]:
            t[i] = "N"
    c = Counter(t)
    i = defaultdict(int,c)
    score += i["r"]*p + i["s"]*r + i["p"]*s
    return score
    
n,k = map(int, input().split())
r,s,p = map(int, input().split())
t = list(input())
print(main(n,k,r,s,p,t))
N, W = map(int, input().split())
WV = []
for _ in range(N):
    WV.append(list(map(int, input().split())))
V = [v for w, v in WV]
INF = 10**10
v_max = sum(V)
dp = [[INF]*(v_max+1) for _ in range(N+1)]
dp[0][0] = 0.0
ans = 0
for i in range(N):
    for j in range(v_max+1):
        if j >= wv[i][1]:
            dp[i+1][j] = min(dp[i][j], dp[i][j-wv[i][1]]+wv[i][0])
            #print(i, j, dp[i+1][j], dp[i][j], wv[i][0])
        else:
            dp[i+1][j] = dp[i][j]
        if i+1 == N and dp[i+1][j] <= W:
            ans = j
print(int(ans))

### FIXED CODE ###

N, W = map(int, input().split())
wv = []
for _ in range(N):
    wv.append(list(map(int, input().split())))
INF = 10**10
v_max = 10**5
dp = [[INF]*(v_max+1) for _ in range(N+1)]
dp[0][0] = 0
ans = 0
for i in range(N):
    for j in range(v_max+1):
        if j >= wv[i][1]:
            dp[i+1][j] = min(dp[i][j], dp[i][j-wv[i][1]]+wv[i][0])
            #print(i, j, dp[i+1][j], dp[i][j], wv[i][0])
        else:
            dp[i+1][j] = dp[i][j]
        if i+1 == N and dp[i+1][j] <= W:
            ans = j
print(ans)
L,N=(int(i) for i in input().split())
X = []
for i in range(0,N):
    a = int(input())
    X.append(a)
import math
if X[math.ceil(N/2)]<L/2:
  result=L-X[N-1]
  for i in range (0,math.ceil(N/2)):
    for j in range (N-1,math.ceil(N/2)-1,-1):
      result+=abs(X[j]-X[i])
else:
  result=X[0]
   for i in range (0,math.ceil(N/2)):
    for j in range (N-1,math.ceil(N/2)-1,-1):
      result+=abs(X[i]-X[j])
print(result)

### FIXED CODE ###

a,b,c=(int(i) for i in input().split())
if b+1>=c:
  print(b+c)
else:
  if a+1>=c-b:
    print(b+c)
  else:
    print(2*b+a+1)
import sys
S1=str(input())
S2=str(input())
for i in range(len(S1)):
  S1.append(S1[0])
  del S1[0]
  if S1 == S2:
    print('Yes')
    sys.exit()
print('No')

### FIXED CODE ###

S1=str(input())
S2=str(input())
NG = True
for i in range(len(S1)):
  if S1 == S2[i:len(S1)]+S2[0:i]:
    print('Yes')
    NG = False
    break
if NG:
  print('No')
n=int(input())
lst=[0]*10020
for i in range(1, 45):
  for j in range(1, i+1):
    for k in range(1, j+1):
      temp=i**2+j**2+k**2+i*j+j*k+k*i
      if i==j and j==k:
        lst[temp]+=1
      elif i==j and j!=k:
         lst[temp]+=3
      elif j==k and k!=i:
         lst[temp]+=3
      elif k==i and i!=j:
         lst[temp]+=3
      elif i!=j and j!=k:
         lst[temp]+=6
for p in range(1, n+1):
  print(lst[p])

### FIXED CODE ###

n=int(input())
lst=[0]*10000000
for i in range(1, 101):
  for j in range(1, i+1):
    for k in range(1, j+1):
      temp=i**2+j**2+k**2+i*j+j*k+k*i
      if i==j and j==k:
        lst[temp+1]+=1
      elif i==j and j!=k:
         lst[temp+1]+=3
      elif j==k and k!=i:
         lst[temp+1]+=3
      elif k==i and i!=j:
         lst[temp+1]+=3
      elif i!=j and j!=k and k!=i:
         lst[temp+1]+=6
for p in range(1, n+1):
  print(lst[p+1])
s = input()
a = {a,e,u,i,o}
if s in a:
  print("vowel")
else:
  print("consonant")

### FIXED CODE ###

s = input()
a = {"a","e","u","i","o"}
if s in a:
  print("vowel")
else:
  print("consonant")
N, M, X = map(int, input().split())
A = list(map(int, input().split()))
S = sum(s < X for s in A)
print(min(s, N-s))


### FIXED CODE ###

N, M, X = map(int, input().split())
A = list(map(int, input().split()))
P = list(filter(lambda x: x < X, A))
Q = list(filter(lambda x: x > X, A))
print(min(len(P), len(Q)))
def dfs(r, c):
    global c, color, G
    S = [r]
    color[r] = c
    while (0 < len(S)):
        u = S.pop()
        for u in G[u]:
            v = color[u]
            if (v == None):
                color[u] = c
                S.append(u)
 
def assignColor():
    global color, G, n
    c = 1
    for i in range(n):
        if (color[i] == None):
            dfs(i, c)
            c += 1
 
n, m = list(map(int, input().split()))
 
G = [None for i in range(n)]
for i in range(m):
    s, t = list(map(int, input().split()))
    G[s].append(t)
    G[t].append(s)
 
color = [False for i in range(n)]
 
assignColor()
 
q = int(input())

for i in range(q):
    s, t = list(map(int, input().split()))
    if (color[s] == color[t]):
        print("yes")
    else:
        print("no")

### FIXED CODE ###

def dfs(r, c):
    global color, G
    S = [r]
    color[r] = c
    while (0 < len(S)):
        u = S.pop()
        for u in G[u]:
            v = color[u]
            if (v == None):
                color[u] = c
                S.append(u)
 
def assignColor():
    global color, G, n
    c = 1
    for i in range(n):
        if (color[i] == None):
            dfs(i, c)
            c += 1
 
n, m = list(map(int, input().split()))
 
G = [[] for i in range(n)]
for i in range(m):
    s, t = list(map(int, input().split()))
    G[s].append(t)
    G[t].append(s)
 
color = [None for i in range(n)]
 
assignColor()
 
q = int(input())

for i in range(q):
    s, t = list(map(int, input().split()))
    if (color[s] == color[t]):
        print("yes")
    else:
        print("no")
s = input()
ans = ''
a_s = s[::-1]
b = 0
for index, x in enumerate(a_s):
  if x == 'B':
    b += 1
  elif b == 0:
	ans.append(x)
  else:
    b -= 1
print(ans[::-1])
  

### FIXED CODE ###

s = input()
ans = ''
for x in s:
  if x != 'B':
    ans += x
  elif x == 'B' and x != '':
    ans = ans[:-1]
  else:
    continue
print(ans)
def bool3(a,b,c):
    if (a!=b) and (b!=c) and (c!=a):
        return True
    else:
        return False

def bool2(a,b,c):
    if a-b != b-c:
        return True
    else:
        return False

def main():
    n = int(input())
    s = input()
    ans = 0
    for i in range(n):
        for j in range(i):
            ans += sum([1 if bool3(s[i],s[j],s[k]) and bool2(i,j,k) else 0 for k in range(j)])
    print(ans)

if __name__ == '__main__':
    main()

### FIXED CODE ###

def main():
    n = input()
    if '7' in n:
        print('Yes')
    else:
        print('No')

if __name__ == '__main__':
    main()
S=input()

if S[0] == S[1] != S[2] == S[4]:
  print('Yes')
elif S[0] == S[2] != S[1] == S[3]:
  print('Yes')
elif S[0] == S[3] != S[1] == S[2]:
  print('Yes')
else:
  print('No')

### FIXED CODE ###

S=input()

if S[0] == S[1] != S[2] == S[3] or S[0] == S[2] != S[1] == S[3] or S[0] == S[3] != S[1] == S[2]:
  print('Yes')
else:
  print('No')
while True:
   m, f, r = map(int, input().split())
   if m+f+r = -3:
      break
   S = m + f
   if S >= 80:
      print("A")
   elif S >= 65 and S < 80:
      print("B")
   elif S >= 50 and S < 65:
      print("C")
   elif S >= 30 and S < 50:
      if m == -1 or f == -1:
         print("F")
      else:
         if r >= 50:
            print("C")
         else:
            print("D")
   else:
      print("F")




### FIXED CODE ###

while True:
   m, f, r = map(int, input().split())
   if m == -1 and f == -1 and r == -1:
      break
   S = m + f
   if m == -1 or f == -1:
      print("F")
   elif S >= 80:
      print("A")
   elif S >= 65 and S < 80:
      print("B")
   elif S >= 50 and S < 65:
      print("C")
   elif S >= 30 and S < 50:
      if r >= 50:
         print("C")
      else:
         print("D")
   else:
      print("F")
a, b, c, d = list(map(int, input().split()))

A = a + b
B = c + d
if A == B:
  print('Balanced')
else if A > B:
  print('Left')
else if A < B:
  print('Right')

### FIXED CODE ###

a, b, c, d = list(map(int, input().split()))

A = a + b
B = c + d
if A == B:
  print('Balanced')
elif A > B:
  print('Left')
elif A < B:
  print('Right')
g=lambda a,b:abs(a[0]*b[1]-a[1]*b[0])

while True:
    t=input()
    if t=="":break
    l=[float(i) for i in t.split()]
    ba=[l[0]-l[2],l[1]-l[3]]
    ab=[-i for i in ba]
    cb=[l[2]-l[4],l[3]-l[5]]
    bc=[-i for i in cb]
    ca=[l[0]-l[4],l[1]-l[5]]
    ac=[-i for i in ca]
    ap=[l[6]-l[0],l[7]-l[1]]
    bp=[l[6]-l[2],l[7]-l[3]]
    cp=[l[6]-l[4],l[7]-l[5]]
    if 0:
        print("NO")
    else:
        print("YES")


### FIXED CODE ###

g=lambda a,b,c:(a[0]-b[0])*(b[1]-c[1])-(b[0]-c[0])*(a[1]-b[1])

while True:
    try:t=input()
    except:break
    l=[float(i) for i in t.split()]
    b=[g(l[0:2],l[2:4],l[6:8]),g(l[2:4],l[4:6],l[6:8]),g(l[4:6],l[0:2],l[6:8])]
    if len([i for i in b if i>0])==3 or len([i for i in b if i<0])==3:
        print("YES")
    else:
        print("NO")
from collections import defaultdict, deque

N, K = map(int, input().split())
d = defaultdict(list)
MOD = 10**9+7

for _ in range(N-1):
    a, b = map(int, input().split())
    d[a].append(b)
    d[b].append(a)

ans = K
used = [0]*(N+1)
used[1] = True
q = deque([1])

while q:
    s = 1 if a==1 else 2
    for b in d[a]:
        if used[b]:continue
        used[b] = True
        ans *= (K-s)
        s += 1
        q.append(b)

ans %= MOD
print(ans)


### FIXED CODE ###

from collections import defaultdict
v = defaultdict(list)
mod = 10**9+7

N, K = map(int, input().split())
for _ in range(N-1):
    a, b = map(int, input().split())
    v[a].append(b)
    v[b].append(a)

visited = [False]*(N+1)
ans = 1

q = [(1, 0, 0)]
while q:
    pos, parent, score = q.pop()
    visited[pos] = True
    ans *= (K-score)
    ans %= mod 
   
    a = 1 if pos==1 else 2
    b = 0

    for i in v[pos]:
        if visited[i]:continue
        q.append((i, pos, a+b))
        b += 1

print(ans)
= int(input())
  2 
  3 if n % 2 == 0:
  4     print(n)
  5 else:
  6     print(n*2)


### FIXED CODE ###

n = int(input())

if n % 2 == 0:
    print(n)
else:
    print(n*2)
import math as mt
N = int(input())
A = [int(input()) for i in range(N)]
A.sort()
#print(A)
S = 0
P2 = mt.floor(N/2 - 1)
if N % 2 == 0:
    for i in range(0,P2,1):
        S += 2 * (A[N-i-1] - A[i])
    S += A[P2+1] - A[P2]
    print(S)
elif N % 2 == 1:
    for i in range(0,P2,1):
        S += 2 * (A[N-i-1] - A[i])
    S1 = A[N-P2-1] + A[N-P2] - 2 * A[P2]
    S2 = 2 * A[N-1-P2] - A[P2] - A[P2+1]
    if S1 >= S2:
        print(S1+S)
    else:
        print(S2+S)


### FIXED CODE ###

import math as mt
N = int(input())
A = [int(input()) for i in range(N)]
A.sort()
#print(A)
S = 0
P2 = mt.floor(N/2 - 1)
if N % 2 == 0:
    for i in range(0,P2,1):
        S += 2 * (A[N-i-1] - A[i])
    S += A[P2+1] - A[P2]
    print(S)
elif N % 2 == 1:
    for i in range(0,P2,1):
        S += 2 * (A[N-i-1] - A[i])
    S1 = A[N-P2-2] + A[N-P2-1] - 2 * A[P2]
    S2 = 2 * A[N-1-P2] - A[P2] - A[P2+1]
    if S1 >= S2:
        print(S1+S)
    else:
        print(S2+S)
a,_,c=map(int,input()).split();print(['YES','NO'][a&1==0and c&1])

### FIXED CODE ###

def g(a,b):
    while b:a,b=b,a%b
    return a
a,b,c=map(int,input().split());print(['NO','YES'][c%g(a,b)==0])
x_1,y_1,x_2,y_2=tuple(map(int,input().split()))

be=[x_2-x_1,y_2-y_1]
za3=[x_2+(-1)*be[1],y_2+be[0]]
za4=[x_1+(-1)*be[1],y_1+be[0]]

print(za3[0],za3[1],za4[0],za4[

### FIXED CODE ###

x_1,y_1,x_2,y_2=tuple(map(int,input().split()))

be=[x_2-x_1,y_2-y_1]
za3=[x_2+(-1)*be[1],y_2+be[0]]
za4=[x_1+(-1)*be[1],y_1+be[0]]

print(za3[0],za3[1],za4[0],za4[1])
N, K, L = map(int, input().split())

par = [i for i in range(N)]
size = [1] * N


def find(x, par):
    if par[x] == x:
        return x
    else:
        par[x] == find(par[x], par)
        return par[x]

def unite(x, y):
    x = find(x, par)
    y = find(y, par)

    if x != y:
        # xとyの属している集合が異なる時
        par[x] = y


par2 = [i for i in range(N)]

def unite2(x: object, y: object) -> object:

    x = find(x, par2)
    y = find(y, par2)

    if x != y:
        # xとyの属している集合が異なる時
        par2[x] = y
        s = size[x] + size[y]
        size[y] = s

for _ in range(K):
    p, q = map(int, input().split())
    unite(p-1, q-1)

for _ in range(L):
    p, q = map(int, input().split())
    s = find(p-1, par)
    t = find(q-1, par)
    if s==t:
        unite2(p-1, q-1)

for i in range(N-1):
    p = find(i, par2)
    print(size[p], end=' ')
print(size[find(N-1, par2)])

### FIXED CODE ###

from collections import Counter

n,k,l=map(int,input().split())
city1=[i for i in range(n)]
city2=[i for i in range(n)]

def root(c,x):
  if x==c[x]:
    return x
  else:
    c[x]=root(c,c[x])
    return c[x]

def union(c,x,y):
  rx=root(c,x)
  ry=root(c,y)
  if rx>ry:
    c[rx]=ry
  else:
    c[ry]=rx

for i in range(k):
  a,b=map(int,input().split())
  union(city1,a-1,b-1)
for i in range(l):
  a,b=map(int,input().split())
  union(city2,a-1,b-1)
r=[]
for i in range(n):
  r.append((root(city1,i),root(city2,i)))
c=Counter(r)
for i in range(n):
  ans=c[r[i]]
  if i==n-1:
    print(ans)
  else:
    print(ans,end=' ')
A = input()
B = input()
del B[-1]
if A == B:
    print(Yes)
else:
    print(No)

### FIXED CODE ###

a = str(input())
b = str(input())
c = b[-1]
if a + c == b:
    print("Yes")
else:
    print("No")
w, h, x, y, r= map(int, raw_input().split())
if (w - r => x => r) and (h - r => y => r):
	print 'YES'
else:
	print 'NO'

### FIXED CODE ###

w, h, x, y, r= map(int, raw_input().split())
if (r <= x <= w-r) and (r <= y <= h - r):
	print 'Yes'
else:
	print 'No'
N ＝　int(input())
A ＝　list(map(int,input().split()))

ans ＝　1
if A in 0:
  print(0)
else:
  while N > i:
    if ans <= 10**18:
      ans *= A[i]
    else:
      print(-1)
      exit()
print(ans)

### FIXED CODE ###

##169

##B
N = int(input())
A = list(map(int,input().split()))
ans = 1
i=0
if 0 in A:
  print(0)
else:
  while N > i:
    if ans <= 10**18:
        ans *= A[i]
        i += 1
    else:
        ans = -1
        break
  
  if ans > 10**18:
        print(-1)
  else:
    print(ans)
import math
a,b=[i for i in input().split()]

a=int(a)
b=int(b*100)

print(math.floor(a*b/100))

### FIXED CODE ###

a,b=[i for i in input().split()]

a=int(a)
b=round(float(b)*100)

print(a*b//100)
N, L = map(int, input().split())
S = [input() for i in range(N)]
print("{0}{1}{2}".format(sorted(S)[0],sorted(S)[1],sorted(S)[2]))

### FIXED CODE ###

N, L = map(int, input().split())
S = [input() for i in range(N)]
for i in range(N):
    print(sorted(S)[i], end="")
a=int(input())
b=int(input())
if a>b:
  print("GREATER");
elif a==b:
  print("EQUAL");
else print("LESS");

### FIXED CODE ###

a=int(input())
b=int(input())
if a>b:
  print("GREATER");
elif a==b:
  print("EQUAL");
elif a<b:
  print("LESS");
# a b c
# b a c
# b c a


function abcSwap(arr):
  arr[0], arr[1] = arr[1], arr[0]
  arr[1], arr[2] = arr[2], arr[1]
  return arr



### FIXED CODE ###

input_arr = input("").split(" ")
a, b, c = map(str, input_arr)

print(c + " " + a + " " + b)
#include <bits/stdc++.h>
using namespace std;

int main() 
{
  string s;
  cin >> s;
  for (int i = 0; i < s.length(); i++) {
    cout << "x";
  }

}

### FIXED CODE ###

s = input()
i = len(s)
print("x"*i)
N=map(int, input())
list=list(map(str, input().split()))
answer=[]
for i in range(1, N-2):
	answer.append(list.count(str(i)))
a_s='\n'.join(answer)
print(a_s)

### FIXED CODE ###

N=int(input())
A=list(map(int, input().split()))
ans=[0]*N
for a in A:
  ans[a-1]+=1
for n in ans:
  print(n)
N,M=list(map(int,input().split()))
s=[list(map(int,input().split())) for i in range(M)]

Num=0

A=[]
B=[]
C=[]
for i in s:
    if i[0]==1:
        A.append(i[1])
            
    elif i[0]==2:
        B.append(i[1])
            
    elif i[0]==3:
        C.append(i[1])
        
if N==3:      
    if len(A)==0:
        print(-1)
    elif min(A)==0:
        print(-1)
    else:
        Num+=min(A)*100
        if len(B)==0:
            pass
        elif len(B)!=0:
            Num+=min(B)*10
        if len(C)==0:
            pass
        elif len(C)!=0:
            Num+=min(C)
        print(Num)
        
elif N==2:
    if min(B)==0:
        print(-1)
    elif len(B)==0:
        print(-1)
    else:
        Num+=min(B)*10
        if len(C)==0:
            pass
        elif len(C)!=0:
            Num+=min(C)
        print(Num)
elif N==1:
    N+=min(C)
    print(Num)
    


### FIXED CODE ###

import sys
N,M=list(map(int, input().split()))

s=[list(map(int, input().split())) for _ in range(M)]

a=["a" for _ in range(N)]

if len(s)==0 and N==1:
    print(0)
    sys.exit()
    
elif len(s)==0:
    print(10**(N-1))
    sys.exit()

for i in s:
    if i[1]==0 and i[0]==1 and N!=1:
        print(-1)
        sys.exit()
   
    if a[i[0]-1]=="a":
        a[i[0]-1]=str(i[1])
    
    elif a[i[0]-1]!="a" and a[i[0]-1]==str(i[1]):
        continue
        
    elif a[i[0]-1]!="a" and a[i[0]-1]!=str(i[1]):
        print(-1)
        sys.exit()

num=[int(i) if i!="a" else 0 for i in a ]
    
if N==1:
    print(int(num[-1]))
elif N==2:
    ans=10*int(num[0])+int(num[1])
    if ans//10==0:
        ans+=10
    print(ans)
elif N==3:
    ans=100*int(num[0])+10*int(num[1])+int(num[2])
    
    if ans//100==0:
        ans+=100
    print(ans)
r = input()
import math
d = r * r * math.pi
l = 2 * r * math.pi
print("%f %f" %(d,l))

### FIXED CODE ###

r = float(input())
import math
d = r * r * math.pi
l = 2 * r * math.pi
print("%f %f" %(d,l))
x = int(input())

n = 100

i = 0

while n < x:
    n = math.floor(n * 1.01)
    i += 1

print(i)

### FIXED CODE ###


import math

x = int(input())

n = 100

i = 0

while n < x:
    n = math.floor(n * 1.01)
    i += 1

print(i)
def gcd(a,b):
    if not b: return a
    return gcd(b,a%b)
def lcm(a, b):
    return (a*b)//gcd(a, b)
N = int(input())
A = list(map(int,input().split()))
l = 1
ans, mod = 0, 1000000007
for x in A:
    l = lcm(l, x)
for x in A:
    ans = (ans + l/x)
    if ans > mod: ans %= MOD
print(ans)


### FIXED CODE ###

def gcd(a,b):
    if not b: return a
    return gcd(b,a%b)

def lcm(a, b):
    return (a*b)//gcd(a, b)

N = int(input())
A = list(map(int,input().split()))
l = 1
ans, mod = 0, 1000000007

for x in A:
    l = lcm(l, x)

for x in A:
    ans = ans + l//x
print(ans % mod)
a=list(map(int,input().split()))

if a[0]+a[2]=2*a[1]:
  print('YES')

else:
  print('NO')

### FIXED CODE ###

a=list(map(int,input().split()))
 
if a[0]+a[2]==2*a[1]:
  print('YES')
 
else:
  print('NO')
S = input()
T = input()

print(T + S)

### FIXED CODE ###

S ,T = input().split()

print(T,S,sep="")
A, B, C, D = map(int, input().split())
ans = set(list(range(A, B+1)))


for i in range(A//C + 1, B //C + 1):
    if i*C in ans:
        ans.remove(i*C)

for i in range(A//D + 1, B //D + 1):
    if i*D in ans:
        ans.remove(i*D)
    


print(len(ans))

### FIXED CODE ###

def gcd(a,b):
  while b!=0:
    a,b=b,a%b
  return a

def lcm(x, y):
    return (x * y) // gcd(x, y)


A, B, C, D = map(int, input().split())
ans = set()
if A%C == 0:
    c = (B//C) - (A//C) + 1
else:
    c = (B//C) - (A//C)

if A%D == 0:
    d = (B//D) - (A//D) + 1
else:
    d = (B//D) - (A//D)

CD = lcm(C, D)

if A%CD == 0:
    cd = (B//CD) - (A//CD) + 1
else:
    cd = (B//CD) - (A//CD)

print(B - A + 1 - (c+d-cd))