Harryxun/stf_run huggingface dataset:
l,m,n = map(int,input().split())
ans='No'
if l==7 or m==7 or n==7:
  ans='Yes'
print(ans)

### FIXED CODE ###

N=str(input())
ans='No'
if int(N[0])==7 or int(N[1])==7 or int(N[2])==7:
  ans='Yes'
print(ans)
Q = 6-A-B
print Q

### FIXED CODE ###

A = int(input())
B = int(input())
Q = 6-A-B

print(Q)
import sys
from math import gcd

def input():
	return sys.stdin.readline()

N = int(input())
A = [int(_) for _ in input().split()]
p1 = [0] * N
p2 = [0] * N

p1[0] = A[0]
p2[-1] = A[-1]

for i in range(1, N):
	p1[i] = gcd(p1[i-1], A[i])
	p2[-(i+1)] = gcd(p2[-i], A[-(i+1)])

m = max(p1[-2], p2[1])

if N > 2:
	for i in range(1, N-1):
		m = max(m, gcd(p1[i-1], p2[i+1]))

print(m)

### FIXED CODE ###

import sys
from fractions import gcd

def input():
	return sys.stdin.readline()

N = int(input())
A = [int(_) for _ in input().split()]
p1 = [0] * N
p2 = [0] * N

p1[0] = A[0]
p2[-1] = A[-1]

for i in range(1, N):
	p1[i] = gcd(p1[i-1], A[i])
	p2[-(i+1)] = gcd(p2[-i], A[-(i+1)])

m = max(p1[-2], p2[1])

if N > 2:
	for i in range(1, N-1):
		m = max(m, gcd(p1[i-1], p2[i+1]))

print(m)
# PrimeNumber

from itertools import product
import math


def nOfPrime(m):
    return m * 2


if __name__ == "__main__":
    while True:
        try:
            n = int(input())
            prm = 1
            nlist = []
            nlist2 = []
            plist = []

            for i in range(2, n + 1):
                nlist.append(i)  # [2,3,4,5,6,...,n]

            while True:
                #print(nlist, " ", math.sqrt(n))
                if nlist[0] > math.sqrt(n):  # 終了条件
                    #plist.append(map(int,nlist))
                    plist.extend(nlist)
                    break;
                else:
                    plist.append(nlist[0])

                    #i = 0
                    for j in nlist:
                        if j % nlist[0] != 0:
                            #nlist.pop(i)
                            #nlist.remove(j)
                            nlist2.append(j)
                        #i += 1
                    nlist = nlist2
                    nlist2 = []
            #print("fin: {}".format(plist))
            print(len(plist))

        except EOFError:
            break  # escape from while loop

pass
#

### FIXED CODE ###

if __name__ == "__main__":
	maxn = 1000000
	plist = [False if i%2==0 or i%3==0 or i%5==0 else True for i in range(maxn)]

	plist[0] = plist[1] = False
	plist[2] = plist[3] = plist[5] = True

	for chki in range(3, maxn, 2):
		for j in range(chki**2, maxn, chki):
			plist[j] = False

	while True:
		try:
			#start = time.time()
			inn = int(raw_input())
			print plist[0:inn+1].count(True)
			#print plist
			#print plist.count(True)
			#print plist[0:10].count(True)
			#print plist[0:100000].count(True)
			#print plist[0:1000000].count(True)

			#elapsedTime = time.time() -start
			#print elapsedTime
		except:
			break
X,N=map(int,input().split())
if N==0:
    print(X)
    exit()

P_ori=list(map(int,input().split()))
if P_ori.count(X)==0:
    print(X)
    exit()

P1=sorted(P_ori)
N=list(range(1,101))
PZ=[]
for i in range(len(N)):
    if P1.count(N[i])==0:
        PZ.append(N[i])

PZ.append(X)
P2=sorted(PZ)
t=P2.index(X)
if P2[t]==P2[0]:
    print(P2[1])
    exit()
elif P2[t]==P2[-1]:
    print(P2[-2])
    exit()
else:
    dist1=abs(P2[t-1]-P2[t])
    dist2=abs(P2[t]-P2[t+1])
    if dist1<=dist2:
        print(P2[t-1])
        exit()
    else:
        print(P2[t+1])
        exit()

### FIXED CODE ###

X,N=map(int,input().split())
if N==0:
    print(X)
    exit()

P_ori=list(map(int,input().split()))
if P_ori.count(X)==0:
    print(X)
    exit()


P1=sorted(P_ori)
N=list(range(0,102))
PZ=[]
for i in range(len(N)):
    if P1.count(N[i])==0:
        PZ.append(N[i])

PZ.append(X)
P2=sorted(PZ)
t=P2.index(X)
if P2[t]==P2[0]:
    print(P2[1])
    exit()
elif P2[t]==P2[-1]:
    print(P2[-2])
    exit()
else:
    dist1=abs(P2[t-1]-P2[t])
    dist2=abs(P2[t]-P2[t+1])
    if dist1<=dist2:
        print(P2[t-1])
        exit()
    else:
        print(P2[t+1])
        exit()
print(0)
N , K = map(int,input().split())

A = list(map(int,input().split()))

reach = [-1 for i in range(N)]
reach[0] = 0 #最初の町は0回でいく
now = 0
#loop = 1
dic ={}
dic[0] = 0
for i in range(N+1):
  to = A[now]-1
  if reach[to] != -1:
    ini = i+1
    #print(i,to,reach[to])
    loop = i+1 - reach[to]
    break
  if i+1 not in dic:
    dic[i+1] = to
  reach[to] = i+1
  #loop += 1
  now = to


print(dic,reach,loop,ini)
if K <= ini:
  print(dic[K]+1)
else:
  t = (ini-loop) + (K-ini)%loop
  print(dic[t]+1)

### FIXED CODE ###

N , K = map(int,input().split())
 
A = list(map(int,input().split()))
 
reach = [-1 for i in range(N)]
reach[0] = 0 #最初の町は0回でいく
now = 0
#loop = 1
dic ={}
dic[0] = 0
for i in range(N):
  to = A[now]-1
  if reach[to] != -1:
    ini = i+1
    #print(i,to,reach[to])
    loop = i+1 - reach[to]
    break
  if i+1 not in dic:
    dic[i+1] = to
  reach[to] = i+1
  #loop += 1
  now = to
 
 
#print(dic,reach,loop,ini)
if K < ini:
  print(dic[K]+1)
else:
  t = (ini-loop) + (K-ini)%loop
  print(dic[t]+1)
def counting_sort(array,city,road):
    bucket = [0] * city

    for i in range(road):
        for j in range(2):
            bucket[ array[i][j] ] += 1

    return bucket

def main():
    n,m = map(int, input().split())
    way = [list(map(int,input().split())) for _ in range(m)]
    ans_list = counting_sort(way, n, m)
    for k in range(n):
        print( ans_list[i] )

main()   


### FIXED CODE ###

def counting_sort(array,city,road):
    bucket = [0] * city

    for i in range(road):
        for j in range(2):
            bucket[ (array[i][j] - 1) ] += 1

    return bucket

def main():
    n,m = map(int, input().split())
    way = [list(map(int,input().split())) for _ in range(m)]
    ans_list = counting_sort(way, n, m)
    for k in range(n):
        print( ans_list[k] )

main()
from functools import reduce


def gcd(a, b):
    if b == 0:
        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 = [0 for i in range(n)]
for i in range(0, n - 1, 1):
    l[i + 1] = gcd(l[i], a[i])
    print(l[i + i])

r = [0 for i in range(n)]
for i in range(n - 2, -1, -1):
    r[i] = gcd(r[i + 1], a[i + 1])
    print(r[i])

m = [gcd(l[i], r[i]) for i in range(n)]

print(reduce(max, m))


### FIXED CODE ###

from functools import reduce


def gcd(a, b):
    if b == 0:
        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 = [0 for i in range(n)]
for i in range(0, n - 1, 1):
    l[i + 1] = gcd(l[i], a[i])

r = [0 for i in range(n)]
for i in range(n - 2, -1, -1):
    r[i] = gcd(r[i + 1], a[i + 1])

m = [gcd(l[i], r[i]) for i in range(n)]

print(reduce(max, m))
# -*- coding: utf-8 -*-

def main():
    N, M = map(int,input().split())
    maxval = 10 ** (5 + 3 + 2)
    dp = [maxval] * (N ** 2)

    dp[0] = 0
    opened = set()
    opened.add(0)

    for Ki in range(M):
        a, b = map(int,input().split())
        c = 0
        clist = list(map(int,input().split()))
        for ci in clist:
            c |= 1 << (ci - 1)
        newopen = set()
        for op in opened:
            check = op | c
            dp[check] = min(dp[op] + a, dp[check])
            newopen.add(c)
        opened = opened | newopen
        
    ans = dp[-1]
    if ans == maxval:
        print(-1)
    else:
        print(ans)


if __name__ == "__main__":
    main()


### FIXED CODE ###

# -*- coding: utf-8 -*-

def main():
    N, M = map(int,input().split())
    maxval = 10 ** (5 + 3 + 2)
    dp = [maxval] * (2 ** N)

    dp[0] = 0
    opened = set()
    opened.add(0)

    for Ki in range(M):
        a, b = map(int,input().split())
        c = 0
        clist = list(map(int,input().split()))
        for ci in clist:
            c |= 1 << (ci - 1)

        newopen = set()
        for op in opened:
            check = op | c
            chkval = dp[op] + a
            if dp[check] > chkval:
                dp[check] = chkval
                newopen.add(check)
            newopen.add(c)

        opened = opened | newopen
        
    ans = dp[-1]
    if ans == maxval:
        print(-1)
    else:
        print(ans)


if __name__ == "__main__":
    main()
MOD=10**9+7
import bisect
N,K=[int(s) for s in input().split()]
ls=[int(s) for s in input().split()]
ans=set()
if 0 in ls:
  ans.add(0)
else:
  als=sorted(ls, key=lambda x: -abs(x))
  mul=1
  for i in range(K):
    mul*=als[i]
  if mul>0:
    ans.add(mul)
  else:
    ls2=als[:K]
    ls3=als[K:]
    M2=max(ls2)
    m2=min(ls2)
    M3=max(ls3)
    m3=max(ls3)
    ans=set()
    if M2!=0:
      ans.add(mul*m3//M2)
      ans.add(mul*m3//m2)
    if m2!=0:
      ans.add(mul*M3//M2)
      ans.add(mul*M3//m2)
print(max(ans)%MOD)


### FIXED CODE ###

MOD=10**9+7
N,K=[int(s) for s in input().split()]
ls=[int(s) for s in input().split()]
ans=set()
ls=sorted(ls, key=lambda x: -abs(x))
mul=1
sign=0
zeroflag=0
flag=[0 for _ in range(N)]
for i in range(K):
  flag[i]=1
  if ls[i]<0:
    sign=(sign+1)%2
if sign==1:
  if 0 in ls:
    zeroflag=1
  a=[0,0,0,0]
  b=[0,0,0,0]
  for j in range(K,N):
    if ls[j]>0:
      for k in range(K):
        if ls[K-1-k]<0:
          a[0]=ls[j]
          b[0]=j
          a[1]=ls[K-1-k]
          b[1]=K-1-k
          break
      break
  for j in range(K,N):
    if ls[j]<0:
      for k in range(K):
        if ls[K-1-k]>0:
          a[2]=ls[j]
          b[2]=j
          a[3]=ls[K-1-k]
          b[3]=K-1-k
          break
      break
  if a==[0,0,0,0]:
    flag.reverse()
  elif b[0]==0 and b[1]==0:
    flag[b[2]]=1
    flag[b[3]]=0
  elif b[2]==0 and b[3]==0:
    flag[b[0]]=1
    flag[b[1]]=0
  elif abs(a[0]*a[3])>abs(a[1]*a[2]):
    flag[b[0]]=1
    flag[b[1]]=0
  else:
    flag[b[2]]=1
    flag[b[3]]=0
if sign==1 and a==[0,0,0,0] and zeroflag==1:
  print(0)
else:
  mul=1
  for i in range(N):
    if flag[i]==1:
      mul=mul*ls[i]%MOD
  print(mul)
# 初期入力
import sys
input = sys.stdin.readline
S =input().strip()

#ACGTが連続しているか判定
count =0
count_list=[]
for i in S:
    if i in "ACGT":
        count +=1
    else:
        count_list.append(count)
        count =0
print(max(count_list))

### FIXED CODE ###

# 初期入力
import sys
input = sys.stdin.readline
S =input().strip()

#ACGTが連続しているか判定
count =0
count_list=[0]
for i in S:
    if i in "ACGT":
        count +=1
        count_list.append(count)
    else:
        count =0
print(max(count_list))
N,K = map(int,input().split())
S = input()
L = [0]
res = '1'
i = 0
for s in S:
    if s != res:
        L.append(i)
        i += 1
    else:
        i += 1
    res = s
L.append(i)
if len(L)<=2*k+1:
    ans = N
for i in range(0,len(L)-k*2-2,2):
    ans = L[i+K*2+1]-L[i]
print(ans)

### FIXED CODE ###

N,K = map(int,input().split())
S = input()
L = [0]
ans = 0
res = '1'
i = 0
for s in S:
    if s != res:
        L.append(i)
        i += 1
    else:
        i += 1
    res = s
L.append(i)
L.append(i)
if len(L)<=2*K+1:
    ans = N
for i in range(0,len(L)-K*2-1,2):
    ans = max(ans,L[i+K*2+1]-L[i])
print(ans)
# coding: utf-8
a,b,c=map(int,input().split())
if b%2==0:
    if a%2==0:
        if c%2==0:
            print('YES')
        else:
            print('NO')
    else:
        if c%2==0:
            print('NO')
        else:
            print('YES')
else:
    pirnt('YES')

### FIXED CODE ###

# coding: utf-8
a,b,c=map(int,input().split())
Flg=False
for i in range(b+1):
    if a*i%b==c:
        Flg=True
        break
    
if Flg:
    print('YES')
else:
    print('NO')
from collections import deque
n,m,k=map(int,input().split())
A = list(map(int,input().split()))
B = list(map(int,input().split()))

a,b=[0],[0]
for i in range(n):
  a.append(a[i]+A[i])
for i in range(m):
  b.append(b[i]+B[i])
ans, j = 0,m
for i in range(N+1):
  if a[i]>k: break
  while b[j] > k-a[i]:
    j -= 1
  ans = max(ans,i+j)
print(ans)

### FIXED CODE ###

from collections import deque
n,m,k=map(int,input().split())
A = list(map(int,input().split()))
B = list(map(int,input().split()))

a,b=[0],[0]
for i in range(n):
  a.append(a[i]+A[i])
for i in range(m):
  b.append(b[i]+B[i])
ans, j = 0,m
for i in range(n+1):
  if a[i]>k: break
  while b[j] > k-a[i]:
    j -= 1
  ans = max(ans,i+j)
print(ans)
N = int(input())
A = [0 for i in range(N)]
for i in range(N):
    A[i] = list(map(int,input().split()))

print(A.sort())

### FIXED CODE ###


N = int(input())
A = [0 for i in range(N)]
for i in range(N):
    A[i] = list(map(str,input().split()))
for i in range(N):
    A[i].append(str(i+1))
for i in range(N):
    A[i][1] = int(A[i][1]) 


B = sorted(A, key=lambda x: x[1], reverse=True)

C = sorted(B, key=lambda x: x[0])

for i in range(N):
    print(int(C[i][2]))
s = list(map(int,input().split()))
m = list(map(int,input().split()))

a=s[0]
for i in range(s[1]):
  a -= m[i]

if a <= 0:
  print("Yes")
else:
  print("No")

### FIXED CODE ###

s = list(map(int,input().split()))
a = s[0] // s[1]
b = s[0] % s[1]
if b != 0:
  a +=1
print(a)
def dp(i, j, s):
    for ii in range(i):
        if s[j] == "R":
            j = j +1
        else:
            j = j-1
    return j
  
s = list(input())
dic = {}
for x in range(len(s)):
    dic[x] = dp(10**1,x,s)
nwli =[0 for q in range(len(s))]
for t in range(len(s)):
    t2 = t
    for k in range(16):
        t2 = dic[t2]
    nwli[t2]+=1
print(" ".join(map(str,nwli)))
def dp(i, j, s):
    for ii in range(i):
        if s[j] == "R":
            j = j +1
        else:
            j = j-1
    return j
  
s = list(input())
dic = {}
for x in range(len(s)):
    dic[x] = dp(10**1,x,s)
nwli =[0 for q in range(len(s))]
for t in range(len(s)):
    t2 = t
    for k in range(16):
        t2 = dic[t2]
    nwli[t2]+=1
print(" ".join(map(str,nwli)))

### FIXED CODE ###

s = list(input())
output = [0 for i in s]
ruiseki = 0
for p in range(len(s)):
    if s[p] == "R":
        if s[p+1] == "R":
            ruiseki+=1
        else:
            ruiseki+=1
            output[p] += ruiseki//2 + ruiseki%2
            output[p+1] += ruiseki//2
            ruiseki=0
    
ruiseki = 0
for q in range(len(s)-1, -1, -1):
    if s[q] == "L":
        if s[q-1]=="L":
            ruiseki+=1
        else:
            ruiseki+=1
            output[q] += ruiseki//2 + ruiseki%2
            output[q-1] += ruiseki//2
            ruiseki=0
print(" ".join(map(str,output)))
x = input()

y = x**3

print int(y)

### FIXED CODE ###

x=int(input())
print (x**3)
N=input()
t,x,y=0,0,0
s=0
for i in range(N):
  a,b,c=map(int,input().split())
  if a-t!=abs(b-x)+abs(c-y):
    s=1
    break
  t,x,y=a,b,c
print("No" if s else "Yes")

### FIXED CODE ###

N=int(input())
t,x,y=0,0,0
s=0
for i in range(N):
  a,b,c=map(int,input().split())
  p,q=a-t,abs(b-x)+abs(c-y)
  if p<q or p%2!=q%2:
    s=1
    break
  t,x,y=a,b,c
print("No" if s else "Yes")
a,b=map(int,input().split())
s=list(map(int,input().split()))
ans=[]
for i in range(b-1):
    ans.append(s[i]-s[i-1])
ans.append(a-s[b]+s[0])
print(a-max(ans))







### FIXED CODE ###

a,b=map(int,input().split())
s=list(map(int,input().split()))
ans=[]
for i in range(b-1):
    ans.append(s[i+1]-s[i])
ans.append(a-s[b-1]+s[0])
print(a-max(ans))
n = int(input())
h = list(map(int,input().split()))
result = []
c = 0
for i in range(n-1):
    if h[i] >= h[i+1]:
        c += 1
    else:
        result.append(c)
        c = 0
    if i == n-2:
        result.append(c)

print(max(result))

### FIXED CODE ###

import sys
n = int(input())
h = list(map(int,input().split()))
result = []
c = 0
if n == 1:
    print(0)
    sys.exit()
for i in range(n-1):
    if h[i] >= h[i+1]:
        c += 1
    else:
        result.append(c)
        c = 0
    if i == n-2:
        result.append(c)

print(max(result))
import numpy as np
N = int(input())
A = list(map(int, input().split()))
if t > 1e18:
    print(-1)
else:
    print(np.prod(A))


### FIXED CODE ###

#import numpy as np
N = int(input())
A = list(map(int, input().split()))
#A = np.array(A)
t = A[0]
for i in range(1,N):
    t *= A[i]
    if int(t) > 1e18:
        for j in range(i,N):
            if A[j] == 0:
                t = 0
        break
if int(t) <= 1e18:
    print(int(t))
else:
    print(-1)
num = input().split('')
if num == ['5', '7', '5'] or num == ['7', '5', '5'] or num == ['5', '5', '7']:
  print('YES')
else:
  print('NO')




### FIXED CODE ###

num = input().split(' ')
if num == ['5','7','5'] or num == ['7','5','5'] or num == ['5','5','7']:
    print('YES')
else:
    print('NO')
s = input()

ans = 0
i = 0

while i < len(s) :
    if s[i] == 'A' :
        if s[i+1] == 'B' and s[i+2] == 'C' : # 置換可能
            j = 1
            for j in range(1,i+1) :
                if not s[i-j] == 'A' : # 後方置換
                    break
            k = 0
            for k in range(0,len(s)) :
                ans += j - 1 + k
                if not s[i+k] == 'A' :
                    break
            i += k + 3
    i += 1

print(ans + 1)

### FIXED CODE ###

S = input()
S = S.replace('BC', 'D').replace('B', ' ').replace('C', ' ').split()

ans = 0
for s in S:
    leftA = 0
    for i, t in enumerate(s[:: -1]):
        if t == 'A':
            ans += max(0, i - leftA)
            leftA += 1

print(ans)
n = input()

if n == "A":
  print("T")
if n == "T":
  print("A")
if n == "G":
  print("C")
if n =="C":
  print(G)

### FIXED CODE ###

n = input()

if n == "A":
  print("T")
if n == "T":
  print("A")
if n == "G":
  print("C")
if n =="C":
  print("G")
N = int(input())
a = [input() for i in range(N)]
P=round(sum(A)/N)
B=0
for i in range(N):
  B=B+(A[i]-P)**2
print(B)


### FIXED CODE ###

N,R=map(int, input().split()) 
if N>=10:
    print(R)
if 0<=N<10:
    print(R+100*(10-N))
#!/usr/bin/env python3
import sys
import numpy as np
from collections import deque

def solve(N: int, M: int, edges, S: int, T: int):
    S -= 1
    T -= 1
    now = [S]
    seen = [False for _ in range(N)]
    c = 0
    while now:
        c += 1
        next = []
        for n in now:
            seen[n] = True
            for nz in edges[n].nonzero()[0]:
                if nz == T:
                    print(c)
                    exit()
                if not seen[nz]:
                    next.append(nz)
        now = next
    print(-1)
    return


# Generated by 1.1.6 https://github.com/kyuridenamida/atcoder-tools  (tips: You use the default template now. You can remove this line by using your custom template)
def main():
    def iterate_tokens():
        for line in sys.stdin:
            for word in line.split():
                yield word
    tokens = iterate_tokens()
    N = int(next(tokens))  # type: int
    M = int(next(tokens))  # type: int
    Mat = np.zeros((N, N))
    for _ in range(M):
        u, v = int(next(tokens)) - 1, int(next(tokens))-1
        Mat[u][v] = 1
        #Mat[v][u] = 1


    Three = np.copy(Mat)
    for _ in range(2):
        Three = Three.dot(Mat)

    #print(Three)

    S = int(next(tokens))  # type: int
    T = int(next(tokens))  # type: int
    solve(N, M, Three, S, T)

if __name__ == '__main__':
    main()


### FIXED CODE ###

#!/usr/bin/env python3
import sys
from collections import deque

def solve(N: int, M: int, G, S: int, T: int):
    S -= 1
    T -= 1
    now = deque([S])
    dist = [0 for _ in range(N * 3)]
    while now:
        p = now.popleft()
        for n in G[p]:
            if dist[n] != 0:
                continue
            dist[n] = dist[p] + 1
            if n == T:
                print(dist[n] // 3)
                exit()
            now.append(n)
    print(-1)
    return


# Generated by 1.1.6 https://github.com/kyuridenamida/atcoder-tools  (tips: You use the default template now. You can remove this line by using your custom template)
def main():
    def iterate_tokens():
        for line in sys.stdin:
            for word in line.split():
                yield word
    tokens = iterate_tokens()
    N = int(next(tokens))  # type: int
    M = int(next(tokens))  # type: int
    G = tuple(set() for _ in range(N * 3))
    for _ in range(M):
        u, v = int(next(tokens)) - 1, int(next(tokens))-1
        G[u].add(v + N)
        G[u + N].add(v + 2 * N)
        G[u + 2 * N].add(v)

    S = int(next(tokens))  # type: int
    T = int(next(tokens))  # type: int
    solve(N, M, G, S, T)

if __name__ == '__main__':
    main()
n = int(input())
s = list(input())
count = 0
if n % 3 != 0 and n >= 3:
  for i in range (1,n):  
    if s[i-1] == 'A' and s[i] == 'B' and s [i+1] == 'C':
      count += 1
elif n % 3 == 0 and n >= 3:
  for i in range(1, n-1):
    if s[i-1] == 'A' and s[i] == 'B' and s [i+1] == 'C':
      count += 1
if n == 2:
  print(0)
else:
  print(count)

### FIXED CODE ###

n = int(input())
s = str(input())
count = 0
if n % 3 == 1 or n % 3 == 0:
  for i in range(n-1):
    if s[i] == 'A' and s[i+1] == 'B' and s[i+2] == 'C':
      count += 1
elif n % 3 == 2:
  for i in range(n-2):
    if s[i] == 'A' and s[i+1] == 'B' and s[i+2] == 'C':
      count += 1
print(count)
w = input()
for i in set(w):
    if w.count(i)%2 == 1:
#print("No")


print("Yes")


### FIXED CODE ###

w = [input() for i in range(4)]
N = int(w[0])
K = int(w[1])
X = int(w[2])
Y = int(w[3])

paid = 0
for i in range(1,N+1):
    if i < K+1:
        paid += X
    else:
        paid += Y

print(paid)
S = input()

if N % 2 != 0:
    print("No")
else:
    for i in range(int(N/2)):
        if S[i] != S[i+int(N/2)]:
            print("No")
            exit()
    print("Yes")

### FIXED CODE ###

N = int(input())
S = input()

if N % 2 != 0:
    print("No")
else:
    for i in range(int(N/2)):
        if S[i] != S[i+int(N/2)]:
            print("No")
            exit()
    print("Yes")
H, W, A, B = map(int, input().split())

if A == 0 or B == 0:
    pass
else H % B != 0 or W % A != 0 or H // B * A != W:
    print('No')
    exit()

answer = [[-1] * W for _ in range(H)]
a = 0
b = 0
for i in range(H):    
    answer[i] = [0 if a <= j <= a + A -1 else 1 for j in range(W)]
    if b + i - 1== B:
        a += A
        b += B
for i in range(H):
    print(*answer[i])

### FIXED CODE ###

H, W, A, B = map(int, input().split())


for i in range(B):
    answer = ['0' if j < A else '1' for j in range(W)]
    print(''.join(answer))
for i in range(H-B):
    answer = ['1' if j < A else '0' for j in range(W)]
    print(''.join(answer))
a, b = map(int, input().split())
if a*b%2 == 0:
    print("Odd")
else:
    orint("Even")

### FIXED CODE ###

a, b = map(int, input().split())
if a*b%2 != 0:
    print("Odd")
else:
    print("Even")
n = int(input())
a = [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(a[n])

### FIXED CODE ###

n = int(input())
a = [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(a[n-1])