Harryxun/stf_run huggingface dataset:
import numpy as np
h,w=map(int,input().split())
m=np.zeros(h,w)
c=np.zeros(h,w)
for i in range(h):
    s=input()
    for j in range(w):
        if s[j]=="#":
            m[i][j]=1

for i in range(h):
    j=0
    start=-1
    while(j<w):
        if start==-1:
            if m[i][j]==0:
                start=j
                count=1
        else:
            if m[i][j]==1:
                for k in range(start,j):
                    c[i][k]+=count
                start=-1
            else:
                count+=1
        j+=1
    if start!=-1:
        for k in range(start,w):
            c[i][k]+=count
for j in range(w):
    i=0
    start=-1
    while(i<h):
        if start==-1:
            if m[i][j]==0:
                start=i
                count=1
        else:
            if m[i][j]==1:
                for k in range(start,i):
                    c[k][j]+=count
                start=-1
            else:
                count+=1
        i+=1
    if start!=-1:
        for k in range(start,h):
            c[k][j]+=count
result=0
for i in range(h):
    for j in range(w):
        result=max(result,c[i][j])
print(result-1)

### FIXED CODE ###

h,w=map(int,input().split())
m=[[None for j in range(w)] for i in range(h)]
c=[[-1 for j in range(w)] for i in range(h)]
for i in range(h):
    s=input()
    for j in range(w):
        if s[j]==".":
            m[i][j]=0
        else:
            m[i][j]=1

for i in range(h):
    j=0
    start=-1
    while(j<w):
        if start==-1:
            if m[i][j]==0:
                start=j
                count=1
        else:
            if m[i][j]==1:
                for k in range(start,j):
                    c[i][k]+=count
                start=-1
            else:
                count+=1
        j+=1
    if start!=-1:
        for k in range(start,w):
            c[i][k]+=count
for j in range(w):
    i=0
    start=-1
    while(i<h):
        if start==-1:
            if m[i][j]==0:
                start=i
                count=1
        else:
            if m[i][j]==1:
                for k in range(start,i):
                    c[k][j]+=count
                start=-1
            else:
                count+=1
        i+=1
    if start!=-1:
        for k in range(start,h):
            c[k][j]+=count
result=0
for i in range(h):
    for j in range(w):
        result=max(result,c[i][j])
print(result)
import numpy as np
def f(X,A):
    temp_f = np.array([X^A[i] for i in range(len(A))])
    return np.sum(temp_f)
def calc_max_f(A,K):
    temp_max_f = np.array([f(k,A) for k in range(0,K+1)])
    return np.max(temp_max_f)
N,K = map(int, input().split())
A = [int(input()) for _ in range(N)]
print(calc_max_f(A,K))

### FIXED CODE ###

import sys
input = sys.stdin.readline

N, K = map(int, input().split())
A = list(map(int, input().split()))
"""
N, K = map(int, input().split())
A = [int(x) for x in input().split()]
max_A = max(A)
bit = bin(K)
if max_A > K:
    bit = bin(max_A)"""
max_f = 0
#for d in range(1,len(bit))[::-1]:
for d in range(41,-2,-1):
    #d=d-2
    if (d != -1 and not (K & 1 << d)):
        continue
    f=0
    #for e in range(2,len(bit))[::-1]:
    for e in range(41,-1,-1):
        #e=e-2
        mask = 1<<e
        num=0
        for a in A:
            if a&mask:
                num+=1
        n_num = N - num
        if e>d:
            if K&mask:
                f += mask*n_num
            else:
                f += mask*num
        elif e==d:
            f += mask*num
        else:
            f += mask*max(n_num,num)
    max_f = max(f,max_f)
print(max_f)
import math
n = input()

def koch(n, p1_x, p2_x, p1_y, p2_y):
  if n == 0:
    return
  
  %p1, p2 ?????? s, t, u ????¨????

  s_x = (2*p1_x + p2_x) / 3
  s_y = (2*p1_y + p2_y) / 3
  t_x = (p1_x + 2*p2_x) / 3
  t_y = (p1_y + 2*p2_y) / 3

  u_x = (t_x - s_x)/2 - (t_y - s_y) * sqrt(3)/2 + s_x
  u_y = (t_x - s_x) * sqrt(3)/2 + (t_y - s_y)/2 + s_y

  koch(n-1, p1_x, s_x, p1_y, s_y)
  print s_x, s_y
  koch(n-1, s_x, u_x, s_y, u_y)
  print u_x, u_y
  koch(n-1, u_x, t_x, u_y, t_y)
  print t_x, t_y
  koch(n-1, t_x, p2_x, t_y, p2_y)

print 0.0, 0.0
koch(n, 0, 100, 0, 0)
print 100.0, 0.0

### FIXED CODE ###

import math
n = int(input())
 
def koch(n, p1_x, p2_x, p1_y, p2_y):
  if n == 0:
    return
 
  s_x = (2*p1_x + p2_x) / 3
  s_y = (2*p1_y + p2_y) / 3
  t_x = (p1_x + 2*p2_x) / 3
  t_y = (p1_y + 2*p2_y) / 3
 
  u_x = (t_x - s_x)/2 - (t_y - s_y) * math.sqrt(3)/2 + s_x
  u_y = (t_x - s_x) * math.sqrt(3)/2 + (t_y - s_y)/2 + s_y
 
  koch(n-1, p1_x, s_x, p1_y, s_y)
  print (s_x, s_y)
  koch(n-1, s_x, u_x, s_y, u_y)
  print (u_x, u_y)
  koch(n-1, u_x, t_x, u_y, t_y)
  print (t_x, t_y)
  koch(n-1, t_x, p2_x, t_y, p2_y)
 
p1_x = 0.0
p1_y = 0.0
p2_x = 100.0
p2_y = 0.0
 
print (p1_x, p1_y)
koch(n, 0, 100, 0, 0)
print (p2_x, p2_y)
N = int(input())
AB = []
for _ in range(N-1):
    AB.append([int(i) for i in input().split()])
def used_col(N):
    col = set()
    # 子供の色
    for child in tree_children[N]:
        col.add(ans[child-2])
    # 親の色
    col.add(ans[tree_parent[N]-2])
    # 兄弟の色
    for child in tree_children[tree_parent[N]]:
        col.add(ans[child-2])
    return col
from collections import defaultdict as ddict
tree_children = ddict(set)
tree_parent = ddict(int)
for ab in AB:
    tree_children[ab[0]].add(ab[1])
    tree_parent[ab[1]] = ab[0]
max_col = 0
for key in tree_children.keys():
    parent_bool = 1 if tree_parent[key] != 0 else 0
    max_col = max(len(tree_children[key])+parent_bool , max_col)
ans = [0] * (N-1)
for i in range(2,N+1):
    available = set(range(1,max_col+1))
    NG_col = used_col(i)
    for NG in NG_col:
        if NG == 0:
            pass
        else:
            available.remove(NG)
    ans[i-2] = available[0]
print(max_col)
for a in ans:
    print(a)


### FIXED CODE ###

N = int(input())
AB = [[]]*(N-1)
for i in range(N-1):
    AB[i] = list(map(int,input().split()))
from collections import defaultdict as ddict
from collections import deque
tree = ddict(list)
B = [0]*(N-1)
for i,ab in enumerate(AB):
    tree[ab[0]].append(ab[1])
    B[i] = ab[1]
# 各エッジの色を格納する変数の初期化
# C[0]は使わない
C = [0]*N
# 幅優先探索用のcue
Q = deque([1])
while Q:
    q = Q.popleft()
    c = 0
    for w in tree[q]:
        # 色をインクリメントした際に親の色とかぶったら更に1を加算する
        # 他は単純なインクリメント
        c += 1 + int(C[q-1] == c+1)
        # エッジの色を格納
        C[w-1] = c
        # 子供をcueに追加
        Q.append(w)
print(max(C))
for b in B:
    print(C[b-1])
import string
import itertools
n = int(input())
l = list(string.ascii_lowercase)
l.insert(0, 0)

amari = []
while n != 0:
    amari.append(n % 26)
    n = n // 26
amari.reverse()
answer_list = []
for i in amari:
    if type(i) == int:
        answer_list.append(l[i])
ans = ''.join(answer_list)
print(ans)

### FIXED CODE ###

import string
import itertools
n = int(input())
s = n
l = list(string.ascii_lowercase)
count = 1
for i in range(1, 100):
    s -= 26 ** i
    if s <= 0:
        break
    else:
        count += 1
n_list = []
answer = []
for i in reversed(range(1, count+1)):
    number = min(26, n // 26 ** (i-1))
    n -= number * 26 ** (i-1)
    n_list.append(number)
n_l = []
for i, x in  enumerate(reversed(n_list)):
    if x <= 0:
        n_l.append(x + 26)
        n_list[-(i+2)] -= 1
    else:
        n_l.append(x)
for i in reversed(n_l):
    answer.append(l[i-1])
print(''.join(answer))
n = int(input())
A = [map(int,input().split())]
ans = 0
While True:
  for i in range(n):
    A[i] == A[i]/2
    if A[i] % 2 !=0:
      break
  ans += 1
  
print(ans)

### FIXED CODE ###

import math

n = input()
a = list(map(int,input().split()))
ans = float('inf')
for i in a:
    ans = min(ans,len(bin(i)) - bin(i).rfind('1') - 1)
print(round(ans))
# check
length = len(S)
if len == 1:
    print(0)
else:
    bwb = ["0", "1"]
    wbw = ["1", "0"]
    cnt = [0] * 2
    for i in range(length):
        if S[i] == bwb[i % 2]:
            cnt[0] += 1
        if S[i] == wbw[i % 2]:
            cnt[1] += 1
    
    print(min([cnt]))

### FIXED CODE ###

# input
S = list(input())

# check
length = len(S)
if len == 1:
    print(0)
else:
    bwb = ["0", "1"]
    wbw = ["1", "0"]
    cnt = [0] * 2
    for i in range(length):
        if S[i] == bwb[i % 2]:
            cnt[0] += 1
        if S[i] == wbw[i % 2]:
            cnt[1] += 1

    print(min(cnt))
2 2 1 1

### FIXED CODE ###

w,h,x,y= [int(i) for i in input().split()]
print(w*h/2)
print(int(2*x==w and 2*y ==h))
n=int(input())
s=[]
for i in range(n):
  s[i]=str(input())
s=list(set(s))
print(len(s))

### FIXED CODE ###

n=int(input())
s=[0]*n
for i in range(n):
  s[i]=str(input())
s=list(set(s))
print(len(s))
import sys
sys.setrecursionlimit(10**10)
N, M = map(int, input().split())
A = [int(input()) for _ in range(M)]
MOD = 1000000007
def Fib(n, A, MOD, memo={}):
    if n in A:
        return 0
    elif n == 0:
        return 1
    elif n == 1:
        return 1
    elif n in memo:
        return memo[n]
    else:
        memo[n] = ( Fib(n-1, A, MOD, memo) + Fib(n-2, A, MOD, memo) ) % MOD
        return memo[n]
print(Fib(N, A, MOD))

### FIXED CODE ###

from collections import deque
def C():
    N, M = map(int, input().split())
    A = set([int(input()) for _ in range(M)])
    dp = deque([1, 1 if 1 not in A else 0])
    MOD = 1000000007
    for i in range(2,N+1):
        #print(i, dp)
        if i in A:
            dp.append(0)
        else:
            dp.append((dp[0]+dp[1]) % MOD)
        dp.popleft()
    print(dp[-1])

C()
n,m = map(int, input().split())

k, *a = [int(i) for i in input().split()]

a = set(a)

for _ in range(n-1):
  _, *b = [int(i) for i in input().split()]
  a = a & b
print(len(a))

### FIXED CODE ###

#A
"""
a,b = map(int, input().split())
if b % a == 0:
    print(b + a)
else:
    print(b-a)
"""

#B

n, m = map(int, input().split())
ans = list(map(int, input().split()))
del ans[0]
ans = set(ans)
for i in range(n-1):
    a = list(map(int, input().split()))
    del a[0]
    ans = ans & set(a)
print(len(ans))


#C
"""
import fractions
from functools import reduce

def gcd(*numbers):
    return reduce(fractions.gcd, numbers)

def gcd_list(numbers):
    return reduce(fractions.gcd, numbers)

n = int(input())
a = list(map(int, input().split()))
print(gcd_list(a))
"""
a = input()
b = input()
c = int(a) * int(b)
d = (int(a)*2) + (int(b)*2)
print(c)
print(d)


### FIXED CODE ###

a = input().split()
c = int(a[0]) * int(a[1])
d = (int(a[0])*2) + (int(a[1])*2)
print('%d %d' %(c,d))
X = int(input())
deposit = 100
year = 0
while (deopsit<X):
  deposit = deposit*101//100
  year += 1
print(year)

### FIXED CODE ###

X = int(input())
year = 0
deposit = 100
while deposit < X:
    deposit = deposit*101//100
    year += 1
print(year)
a = int(input())
b = int(input())
area = a*b
line = 2*a + 2*b
print( area, line )

### FIXED CODE ###

a, b = map(int, input().split())
print ( a*b, 2*a+2*b )
def main():
    h, w = input().split()
    h = int(h)
    w = int(w)

    lst =[]
    for i in range(h):
        tmp = input()
        lst.append(list(tmp))

    flag = False

    for i in range(len(lst)):
        if flag:
            break

        for j in range(i):
            if lst[i][j] == "#":
                if j != w - 1:
                    if lst[i][j+1] == "#":
                        continue

                if j != 0:
                    if lst[i][j-1] == '#':
                        continue

                if i != 0:
                    if lst[i-1][j] == '#':
                        continue

                if i != h -1:
                    if lst[i+1][j] == '#':
                        continue

                print("No")
                flag = True
                break

    if flag == False:
        print("Yes")

if __name__ == "__main__":
        main()


### FIXED CODE ###

def main():
    h, w = input().split()
    h = int(h)
    w = int(w)

    lst =[]
    for i in range(h):
        tmp = input()
        lst.append(list(tmp))

    flag = False

    for i in range(len(lst)):
        if flag:
            break

        for j in range(len(lst[i])):
            if lst[i][j] == "#":
                if j != w - 1:
                    if lst[i][j+1] == "#":
                        continue

                if j != 0:
                    if lst[i][j-1] == '#':
                        continue

                if i != 0:
                    if lst[i-1][j] == '#':
                        continue

                if i != h -1:
                    if lst[i+1][j] == '#':
                        continue

                print("No")
                flag = True
                break

    if flag == False:
        print("Yes")

if __name__ == "__main__":
        main()
from fractions import gcd
N = int(input())
ans = 0
for i in range(N+1):
  for k in range(N+1):
    for l in range(N+1):
      ans += gcd(gcd(i,j),k)

print(ans)


### FIXED CODE ###

from math import gcd
N = int(input())
ans = 0
for i in range(1,N+1):
  for j in range(1,N+1):
    for k in range(1,N+1):
      ans += gcd(gcd(i,j),k)

print(ans)
def resolve():
    s = input()
    t = input()
    ans = 0

    for i in range(len(t)):
        for j in range(i, len(t)):
            test = t[i:(j + 1)]
            if test in s[i:(len(s) - (len(t) - j) + 1)]:
                print(test)
                ans = max(ans, len(test))
    print(len(t) - ans)

resolve()

### FIXED CODE ###

def resolve():
    s = input()
    t = input()
    ans = 10**4

    for i in range(len(s)-len(t)+1):
        ch = 0
        for j in range(len(t)):
            if s[i+j] != t[j]:
                ch += 1
        ans = min(ch, ans)
    print(ans)

resolve()
inputarray = input().split(' ')
N = int(inputarray[0])
A = int(inputarray[1])
B = int(inputarray[2])
blue = 'b'
red = 'r'
ballcolumn = ''
for i in range(10**100):
    ballcolumn+=blue*A
    ballcolumn+=red*B
targetstring = ballcolumn[:N]
print(targetstring.count('b'))

### FIXED CODE ###

inputarray = input().split(' ')
N = int(inputarray[0])
A = int(inputarray[1])
B = int(inputarray[2])
blue = 'b'
red = 'r'
amari = N % (A+B)
if A >= amari: 
    countnum = N // (A+B) * A +amari
else:
    countnum = N // (A+B) * A +A
print(countnum)
# C
from functools import reduce
from fractions import gcd
from functools import lru_cache

@lru_cache(None)
def lcm(a, b):
    return int(a*b/gcd(a, b))

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

result = 0
mod = reduce(lcm, a)-1

for i in range(len(a)):
    result += mod % a[i] 

print(int(result))

### FIXED CODE ###

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

print(sum(a) - n)
n=int(input())
a=list(map(int,input().split()))
keta=[0 for i in range(n)]
ans=0
for i in range(n):
  b=a[i]
  cnt=0
  while(b>=1):
    if b%2==1:
      keta[cnt]+=1
    b=b//2
    cnt+=1
#print(keta)
for i in range(len(keta)):
  #print(keta[i])
  ans+=keta[i]*(n-keta[i])*(2**i)
print(ans)

### FIXED CODE ###

n=int(input())
a=list(map(int,input().split()))
keta=[0 for i in range(61)]
ans=0
for i in range(n):
  b=a[i]
  cnt=0
  while(b>=1):
    if b%2==1:
      keta[cnt]+=1
    b=b//2
    cnt+=1
#print(keta)
for i in range(61):
  #print(keta[i])
  #print(keta[i]*(n-keta[i])*(2**i))
  ans+=(keta[i]*(n-keta[i])*(2**i))%(1000000007)
while(ans>1000000007):
  ans%=1000000007
print(ans)
memo = ""
while True:
    try:
        for s in input():
            memo = memo+s if s.isdigit() else memo+"@"
    except:
        break
print(sum(memo.replace("@", " ").split()))

### FIXED CODE ###

import re
ans = 0
while True:
    try:
        line = input()
    except:
        print(ans)
        break
    ans += sum(map(int, re.findall("[0-9]+", line)))
import math
N = int(input())
list_N = list(range(1,N+1))
max = -9999
for i in range(N):
    if max < int(math.sqrt(list_N[i])):
        max = int(math.sqrt(list_N[i]))

print(max*max)

### FIXED CODE ###

import math 
N = int(input())
print(math.floor(math.sqrt(N))**2)
str_length = int(input())
rgb_str = str(input())

flag = 0
for num_1 in range(1, str_length + 1):
	for num_2 in range(num_1, str_length + 1):
		for num_3 in range(num_2, str_length + 1):
			if rgb_str[num_1 - 1] != rgb_str[num_2 - 1] and rgb_str[num_2 - 1] != rgb_str[num_3 - 1] and rgb_str[num_1 - 1] != rgb_str[num_3 - 1]:
				if num_2 - num_1 != num_3 - num_2:
					flag += 1
				else:
					continue
			else:
				continue
print(str(flag))


### FIXED CODE ###

num = str(input())
flag = 0
for n in num:
	if n == '7':
		flag = flag + 1
	else:
		continue
if flag > 0:
	print("Yes")
else:
	print("No")
import collections
import math


n = int(input())

inputlist = []

for i in range(n):
    inputlist.append("".join(sorted(list(input()))))

counter = collections.Counter(inputlist)

counter = dict(counter)
valuelist = list(map(int, counter.values()))

ans = 0

for i in valuelist:
    if i == 1:
        continue
    if i == 2:
        ans += 1
        continue
    ans += math.factorial(i) / 2 / math.factorial(i-2)

print(int(ans))


### FIXED CODE ###

import collections
import math


n = int(input())

inputlist = []

for i in range(n):
    inputlist.append("".join(sorted(list(input()))))

counter = collections.Counter(inputlist)

counter = dict(counter)
valuelist = list(map(int, counter.values()))

ans = 0

for i in valuelist:
    if i == 1:
        continue
    if i == 2:
        ans += 1
        continue
    temp = math.factorial(i)
    temp /= math.factorial(i-2)
    temp = int(temp / 2)
    ans += temp

print(ans)
n=int(input())
z=0
for i in range(n):
  a,b=intput().split()
  a=float(a)
  z += a*380000 if b=="BTC" else a
print(z)

### FIXED CODE ###

n=int(input())
z=0
for i in range(n):
  a,b=input().split()
  if b=="BTC":
    z += float(a)*380000
  else:
    z += int(a)
print(z)
xs = [int(input()) for _ in range(5)]
k = int(input())

ok = True
for x in xs:
    for y in ys:
        if abs(x-y) > k:
            ok = False

print("Yay!" if ok else ":(")

### FIXED CODE ###


xs = [int(input()) for _ in range(5)]
k = int(input())

ok = True
for x in xs:
    for y in xs:
        if abs(x-y) > k:
            ok = False

print("Yay!" if ok else ":(")
X, A, B = map(int, raw_input().split())

print "delicisous" if A - B >= 0  "safe" if X >= B - A else "dangerous"


### FIXED CODE ###

X, A, B = map(int, raw_input().split())

print "delicious" if A - B >= 0 else "safe" if X >= B - A else "dangerous"
# ABC 097 C
S = input()
K = int(input())

cand = []
for l in range(1, K+1):
    for i in range(len(S) - l):
        cand.append(S[i:i+l])

cand = sorted(list(set(cand)))
print(cand[K-1])

### FIXED CODE ###

# ABC 097 C

from collections import defaultdict

S = input()
K = int(input())

alphabet = defaultdict(list)
for i, s in enumerate(S):
    alphabet[s].append(i)

alpha_list = sorted(alphabet.keys())
cand = []
i = 0
while len(cand) < K:
    for j in alphabet[alpha_list[i]]:
        if len(S)-j+1 >= K:
            for l in range(1, K+1):
                cand.append(S[j:j+l])
        else:
            for l in range(1, len(S)-j+1):
                cand.append(S[j:j+l])
    cand = list(set(cand))
    if len(cand) >= K:
        break
    i += 1
cand = sorted(cand)
print(cand[K-1])
from collections import Counter
n=int(input())
mod = 10**9+7
mem = set()
count = []
def gcd(a,b):
    a_=abs(a)
    b_=abs(b)
    if a == 0 and b == 0:
        return 1
    elif a == 0 or b == 0:
        return max(a_,b_)
    else:
        k=max(a_,b_)%min(a_,b_)
        if k==0:
            return min(a_,b_)
        else:
            return gcd(min(a_,b_),k)

for _ in range(n):
    a,b = map(int,input().split())
    g=gcd(a,b)
    a_=abs(a//g)
    b_=abs(b//g)
    if a*b>=0:
        mem.add((a_,b_))
        count.append(str(a_)+"/"+str(b_))
    else:
        mem.add((-a_,b_))
        count.append(str(-a_)+"/"+str(b_))
        
c=Counter(count)
ans=1
num=0
while mem:
    p,q = mem.pop()
    if p>=0:
        p_=p
        q_=-q
    else:
        p_=abs(p)
        q_=q
    k=str(q_)+"/"+str(p_)
    l=str(p)+"/"+str(q)
    if k in c:
        ans*=2**c[k]+2**c[l]-1
        ans%=mod
        mem.remove((q_,p_))
    else:
        num+=c[l]
ans*=2**num
ans%=mod
print(ans-1)

### FIXED CODE ###

from math import gcd 
n=int(input())
mod = 10**9+7
count = {}

num=0
for _ in range(n):
    a,b = map(int,input().split())
    if a==0 and b==0:
        num+=1
        continue
    if a*b != 0:
        g=gcd(a,b)*(b//abs(b))
    elif a != 0:
        g=a
    else:
        g=b
        
    l=a//g,b//g
    count[l]=count.get(l,0)+1
        
mem=set()
ans=1
for (x,y),z in count.items():
    if x*y==0:
        k=(y,x)
    else:
        k=(-1*x//abs(x)*y,abs(x))
    if k in mem:
        continue
    mem.add((x,y))
    ans*=(pow(2,z)+pow(2,count.get(k,0))-1)
    ans%=mod

print((ans+num-1)%mod)
s=input()
p=s.count("hi")
if p=len(s)//2 and len(s)%2==0:
  print("Yes")
else:
  print("No")

### FIXED CODE ###

s=input()
p=s.count("hi")
if p==len(s)//2 and len(s)%2==0:
  print("Yes")
else:
  print("No")
from collections import deque

q=deque()

N=int(input())

for i in range(1,10):
  q.append(i)

for _ in range(N-1):
  x=q.popleft()
  if x%10!=0:
    q.append(10*x+(x%10)-1)
  q.append(10*x+(x%10))
  if x%10!=9:
    q.append(10*x+(x%10)+1)

print(q.poplefr())

### FIXED CODE ###

from collections import deque

q=deque()

N=int(input())

for i in range(1,10):
  q.append(i)

for _ in range(N-1):
  x=q.popleft()
  if x%10!=0:
    q.append(10*x+(x%10-1))
  q.append(10*x+(x%10))
  if x%10!=9:
    q.append(10*x+(x%10+1))

print(q.popleft())
N = input()
for i in range(len(N)):
  if N[i] == 7;
	flag = 1
if flag = 1:
  print('Yes')
else:
  print('No')

### FIXED CODE ###

N = input()
flag = 0
for i in range(len(N)):
  if int(N[i]) == 7:
    flag = 1
if flag == 1:
  print('Yes')
else:
  print('No')
import sys
input = lambda : sys.stdin.readline().rstrip()
sys.setrecursionlimit(max(1000, 10**9))
write = lambda x: sys.stdout.write(x+"\n")


n = int(input())
s = input()
dp = [[0]*(n+1) for _ in range(n+1)]
dp[1][1] = 1
for i in range(2, n+1):
    v = 0
    if s[i-2]=="<":
        for j in range(1,i+1):
            # j: 最後の数
            dp[i][j] = v
            v += dp[i-1][j]
            v %= M
        dp[i][i] = v
    else:
        for j in range(i,1,-1):
            # j: 最後の数
            dp[i][j] = v
            v += dp[i-1][j-1]
            v %= M
        dp[i][1] = v
#     print(dp)
ans = 0
for item in dp[n]:
    ans += item
    ans %= M
print(ans)

### FIXED CODE ###

import sys
input = lambda : sys.stdin.readline().rstrip()
sys.setrecursionlimit(max(1000, 10**9))
write = lambda x: sys.stdout.write(x+"\n")


n = int(input())
s = input()
dp = [[0]*(n+1) for _ in range(n+1)]
dp[1][1] = 1
M = 10**9+7
for i in range(2, n+1):
    v = 0
    if s[i-2]=="<":
        for j in range(1,i+1):
            # j: 最後の数
            dp[i][j] = v
            v += dp[i-1][j]
            v %= M
        dp[i][i] = v
    else:
        for j in range(i,1,-1):
            # j: 最後の数
            dp[i][j] = v
            v += dp[i-1][j-1]
            v %= M
        dp[i][1] = v
#     print(dp)
ans = 0
for item in dp[n]:
    ans += item
    ans %= M
print(ans)
L,R,d=map(int,input().split())
ans=0

for i in range(L,R+1):
    if i%d==0:
        ans+=1
print(ans)


L,R,d=map(int,input().split())
ans=0

for i in range(R-L):
    if (L+i)%d==0:
        ans+=1
print(ans)


### FIXED CODE ###

L,R,d=map(int,input().split())
ans=0

for i in range(L,R+1):
    if i%d==0:
        ans+=1
print(ans)