Harryxun/stf_run huggingface dataset:
# _*_ coding:utf-8 _*_
#  Atcoder_EducationDP_ContestX-1_other2
#  TODO https://atcoder.jp/contests/dp/tasks/dp_a
#  参考文献 https://qiita.com/drken/items/dc53c683d6de8aeacf5a#%E8%A7%A3%E6%B3%95
#  C++ バージョンを上から書き下す
#  TODO メモ化再帰
#  https://qiita.com/drken/items/dc53c683d6de8aeacf5a#%E5%88%A5%E8%A7%A3-2-%E3%83%A1%E3%83%A2%E5%8C%96%E5%86%8D%E5%B8%B0
import sys

# 初期化
# 足場の数となる要素数は足場の値の最大値であるMAX
blockMAXElement = 100010
blockElementRange = range(0,blockMAXElement,+1)
# DPテーブルの中身は今回は最小値を求めるため最大値を利用

dp = [sys.maxsize] * blockMAXElement
# コスト
# 参考文献のC++では配列は宣言時に初期化されるがpythonはそれがないのでまずはあえて0で初期化
h = [0] * blockMAXElement
# 入力データ諸々
N = int(input().strip())
inputh = list(map(int,input().strip().split(' ')))
# h配列を入力データから取り出した物に置き換える
for i  in range(0,len(inputh),+1):
	h[i] = inputh[i]

# 初期の条件 0歩の時だけはコストがないので、0にセット
dp[0] = 0

def rec(position):
	# まずは最大値にセット(上でもやっているのだが)
	answer = sys.maxsize
	if position == 0:
		answer = 0
	# もしメモを見てデフォルトでセットされた最大値以下であれば更新済みなのでその値をそのまま返す
	elif dp[position] < sys.maxsize:
		answer = dp[position]
	else:
		# 貰うDPを想定して組む
		# 一つ手前の足場から来た場合
		nowCost = rec(position-1)+abs(h[position]-h[position-1])
		if nowCost < answer:
			answer=nowCost
		# 二つ手前から来た場合→position = 1では-1を参照するので不具合
		if 2 <= position :
			nowCost = rec(position-2)+abs(h[position]-h[position-2])
			if nowCost < answer:
				answer=nowCost
	# この位置についての最小値はdp配列にメモする
	dp[position] = answer
	return answer

answer = rec(N-1)
print("{}".format(answer))

### FIXED CODE ###

# _*_ coding:utf-8 _*_
#  Atcoder_EducationDP_ContestX-1
#  TODO https://atcoder.jp/contests/dp/tasks/dp_a
#  参考文献 https://qiita.com/drken/items/dc53c683d6de8aeacf5a#%E8%A7%A3%E6%B3%95
#  C++ バージョンを上から書き下す
#  貰う型DP
import sys

# 初期化
# 足場の数となる要素数は足場の値の最大値であるMAX
blockMAXElement = 100010
blockElementRange = range(0,blockMAXElement,+1)
# DPテーブルの中身は今回は最小値を求めるため最大値を利用
dp = list()
for _ in blockElementRange:
	dp.append(sys.maxsize)

N = int(input().strip())
blockRange = range(0,N,+1)
h = list(map(int,input().strip().split(' ')))

# 初期の条件 0歩の時は値が与えられていないのでDPは0にセット
dp[0] = 0
for position in range(1,N,+1):
#   一つ手前の足場までで最適な値のはず、のコスト
	previousMinCost = dp[position-1]
#   一つ手前から来た場合の足場positionでのコスト計
#   pM = previousMin
	pMNowCost = dp[position-1]+abs(h[position]-h[position-1])
#   今の足場で設定されている足場へのコストより小さくなるならそれを改めて入れる
	if pMNowCost <= dp[position]:
		dp[position] = pMNowCost
#   これは二つ手前から来たケースを考えるのでpositon = 1の場合を除いて考える
#   それ以降は一個手前からと同じ
	if 1 < position:
		previous2MinCost = dp[position-2]
		pM2NowCost = dp[position-2]+abs(h[position]-h[position-2])
		if pM2NowCost <= dp[position]:
			dp[position] = pM2NowCost

print("{}".format(dp[N-1]))
def Input():
    return mapt(int, input().split(" "))


def main():
    n = int(input())
    a = sorted(Input())
    while len(a) > 1:
        x, y = a[0], a[1]
        a[0:2] = [(x+y)/2]

    return a[0]


print(main())

### FIXED CODE ###

def mapt(fn, *args):
    return tuple(map(fn, *args))


def Input():
    return mapt(int, input().split(" "))

  
def main():
    n = int(input())
    a = sorted(Input())
    while len(a) > 1:
        x, y = a[0], a[1]
        a[0:2] = [(x+y)/2]
    return a[0]


print(main())
import numpy

def power(mat:numpy.matrix, n, mod):
    ret = mat
    n -= 1
    while n > 0:
        if n % 2 == 1:
            ret = ret @ mat % mod
        mat = mat @ mat % mod
        n //= 2
    return ret

l, a, b, m = map(int, input().split())
s_foot = a + b * (l - 1)
digit_n = len(str(s_foot))
count_digit_n = [0] * (digit_n + 1)
d = 10
for i in range(1, digit_n + 1):
    x = min(d - 1, s_foot) - a
    if x < 0:
        continue
    n = x // b
    count_digit_n[i] = n + 1
    d *= 10

for i in range(digit_n, 0, -1):
    count_digit_n[i]  -= count_digit_n[i - 1]

d = 10
i = 0
x = numpy.matrix([[0], [a], [1]])

for n in count_digit_n:
    if n == 0:
        continue
    mat = numpy.matrix([[d, 1, 0], [0, 1, b], [0, 0, 1]])
    x = power(mat, n, m) @ x % m
    d = d * 10 % m
print(x[0][0][0])

### FIXED CODE ###


def mul_square_matrix(a, b, mod):
    n = len(a)
    ret = [[0] * n for _ in range(n)]
    for i in range(n):
        for j in range(n):
            for k in range(n):
                ret[i][j] = (ret[i][j] + a[i][k] * b[k][j]) % mod
    return ret


def power_square_matrix(mat:list, k, mod):
    n = len(mat)
    ret = [[0] * n for _ in range(n)]
    for i in range(n):
        ret[i][i] = 1
    while k > 0:
        if k % 2 == 1:
            ret = mul_square_matrix(ret, mat, mod)
        mat = mul_square_matrix(mat, mat, mod)
        k //= 2
    return ret

l, a, b, m = map(int, input().split())
s_foot = a + b * (l - 1)
digit_n = len(str(s_foot))
count_digit_n = [0] * (digit_n + 1)
d = 1
for i in range(1, digit_n + 1):
    d *= 10
    x = min(d - 1, s_foot) - a
    if x < 0:
        continue
    n = x // b
    count_digit_n[i] = n + 1

for i in range(digit_n, 0, -1):
    count_digit_n[i]  -= count_digit_n[i - 1]

d = 1
x = [[0], [a], [1]]
for n in count_digit_n[1:]:
    d = d * 10 % m
    if n == 0:
        continue
    mat = [[d, 1, 0], [0, 1, b], [0, 0, 1]]
    mat = power_square_matrix(mat, n, m)
    for i in range(3):
        x[i][0] = sum([mat[i][j] * x[j][0] for j in range(3)]) % m
print(x[0][0])
'''T, Xの入力'''
T = input('Tの入力')
X = input('Xの入力')
t = T / X
print(t):

### FIXED CODE ###

import sys
T,X = [int(n) for n in input().split()]

print(T/X)
N,M=map(int, input().split())

adj=dict()
for i in range(M):
  x,y,z=map(int, input().split())
  if x in adj: adj[x].add(y)
  else: adj[x]={y}
  if y in adj: adj[y].add(x)
  else: adj[y]={x}
#print(outgoing)
#print(incoming)
V=set()
def dfs(v):
  if v not in V:
    V.add(v)
    if v in adj:
      for u in adj[v]: dfs(u)
cnt=0
for i in range(1, N+1):
  if i not in V:
    cnt += 1
    dfs(i)
print(cnt)

### FIXED CODE ###

import sys
mod = 10**9+7
sys.setrecursionlimit(mod)
N,M=map(int, input().split())

adj={i: set() for i in range(1,N+1)}
for i in range(M):
  x,y,z=map(int, input().split())
  adj[x].add(y)
  adj[y].add(x)
V=set()
def dfs(v):
  if v not in V:
    V.add(v)
    for u in adj[v]: dfs(u)
cnt=0
for i in range(1,N+1):
  if i not in V:
    cnt += 1
    dfs(i)
print(cnt)
#! env/bin/local python3

s, t = input().split()
a, b = map(int, input().split())
u = input()

balls = {
    s: a,
    t: b
}

balls[u] -= 1

print(f'{balls[s]} {balls[t]}')


### FIXED CODE ###

#! env/bin/local python3

s, t = input().split()
a, b = map(int, input().split())
u = input()

balls = {
    s: a,
    t: b
}

balls[u] -= 1

print('{} {}'.format(balls[s], balls[t]))
import numpy as np
a = list(map(int,input().split()))
b = a[0]/0.08
c = (a[0]+1)/0.08
d = a[1]/0.1
e = (a[1]+1)/0.1
f=20000
if b<d:
    min=b
else :
    min =d
g=int(np.ceil(min))
for i in range(g,10001):
    if i>=b and i<=c:
        if i>=d and i<=e:
            f = i
            break
if f==20000:
    print(-1)
else:
    print(f)

### FIXED CODE ###

a = input()
b = list(a)
if b[0]=='A' and b[1]=='A' and b[2]=='A':
    print('No')
elif b[0]=='B' and b[1]=='B' and b[2]=='B':
    print('No')
else:
    print('Yes')
S = input()
if 0 <= S[:2] <= 99 and 1 <= S[2:] <= 12:
    print("YYMM")
elif 1 <= S[:2] <= 12 and 0 <= S[2:] <= 99:
    print("MMYY")
elif (0 <= S[:2] <= 99 and 1 <= S[2:] <= 12) and (1 <= S[:2] <= 12 and 0 <= S[2:] <= 99):
    print("AMBIGUOUS")
else:
    print("NA")

### FIXED CODE ###

S = input()
Fa = int(S[:2])
Se = int(S[2:])
if 1 <= Fa <= 12 and 1 <= Se <= 12:
	print("AMBIGUOUS")
elif 1 <= Fa <= 12:
	print("MMYY")
elif 1 <= Se <= 12:
	print("YYMM")
else:
	print("NA")
x = input().split(' ')
a, b, c = x[0], x[1], x[2]
ans = c - (a-b)
if ans > 0:
  print(ans)
else:
  print(0)


### FIXED CODE ###

x = input().split(' ')
n = list(map(int, x))
ans = n[2] - (n[0]-n[1])
if ans > 0:
  print(ans)
else:
  print(0)
N = int(input())
    R = [list(map(int, input().split(" "))) for _ in range(N)]
    B = [list(map(int, input().split(" "))) for _ in range(N)]
    R.sort(key=lambda x: (x[1], x[0]), reverse=True)
    B.sort(key=lambda x: (x[0], x[1]))
    f = [0] * N
    print(R)
    print(B)

    pair = 0
    for b in B:
        for i, r in enumerate(R):
            if r[0] < b[0] and r[1] < b[1] and f[i] == 0:
                print(r[0],r[1],b[0],b[1])
                pair += 1
                f[i] = 1
                break

    print(pair)

### FIXED CODE ###

if __name__ == "__main__":
#    N = int(input())
#    A = []
#    B = []
#    C = []
#    D = []
#    for i in range(N):
#        buf1, buf2 = list(map(int, (input().split(' '))))
#        A.append(buf1)
#        B.append(buf2)
#    for i in range(N):
#        buf1, buf2 = list(map(int, (input().split(' '))))
#        C.append(buf1)
#        D.append(buf2)
#
#    def calc_dist(a, b, c, d):
#        return pow((pow((c - a), 2) + pow((d - b), 2)), 0.5)
#
#    A_dist_buf = {}
#    B_dist_buf = {}
#    for i in range(N):
#        a_key = str(A[i]) + '_' + str(B[i])
#        b_key = str(C[i]) + '_' + str(D[i])
#        A_dist_buf[a_key] = calc_dist(0, 0, A[i], B[i])
#        B_dist_buf[b_key] = calc_dist(0, 0, C[i], D[i])
#    A_dist = sorted(A_dist_buf.items(), key=lambda x: x[1], reverse=True)
#    B_dist = sorted(B_dist_buf.items(), key=lambda x: x[1], reverse=True)
##    print(A_dist)
##    print(B_dist)
#    A = []
#    B = []
#    C = []
#    D = []
#    for key,ele in A_dist:
#        A.append(key.split('_')[0])
#        B.append(key.split('_')[1])
#    for key,ele in B_dist:
#        C.append(key.split('_')[0])
#        D.append(key.split('_')[1])
#    ans1 = 0
#    for i in range(N):
#        for j in range(N):
#            if len(A) <= i or len(C) <= j:
#                break
#            if ((A[i] < C[j]) and (B[i] < D[j])):
##                print(A[i], B[i], C[j], D[j])
#                ans1 += 1
#                del C[j], D[j]
#                break
#    print(ans1)

    N = int(input())
    R = [list(map(int, input().split(" "))) for _ in range(N)]
    B = [list(map(int, input().split(" "))) for _ in range(N)]
    R.sort(key=lambda x: (x[1], x[0]), reverse=True)
    B.sort(key=lambda x: (x[0], x[1]))
    f = [0] * N

    pair = 0
    for b in B:
        for i, r in enumerate(R):
            if r[0] < b[0] and r[1] < b[1] and f[i] == 0:
                pair += 1
                f[i] = 1
                break

    print(pair)
from collections import deque
N, M = map(int, input().split())
road = [[] for _ in range(M+1)]
ans = [-1]*(N+1)
d = deque()
for i in range(M):
    A, B = map(int, input().split())
    road[A].append(B)
    road[B].append(A)
d.append(1)
while len(d) != 0:
    look = d.popleft()
    for i in road[look]:
        if ans[i] == -1:
            d.append(i)
            ans[i] = look

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


### FIXED CODE ###

from collections import deque
N, M = map(int, input().split())
Mlist = [[] for _ in range(N+1)]
for i in range(M):
    a, b = map(int, input().split())
    Mlist[a].append(b)
    Mlist[b].append(a)

ans = [0] * (N+1)

d = deque()
d.append(1)
count = 0
while count != N:
    Q = d.popleft()
    for i in Mlist[Q]:
        if ans[i] == 0:
            ans[i] = Q
            d.append(i)
            count = count+1
print('Yes')
for i in range(N-1):
    print(ans[i+2])
n, m = map(int, input().split())
a = int(input()) for _ in range(m)
 
dp = [0] * 10000
dp[0] = 1
if 1 not in a:
    dp[1] = 1
 
for i in range(2, n + 1):
    if  (i - 1) not in a:
        dp[i] = dp[i] + dp[i - 1]
    if (i - 2) not in a:
        dp[i] = dp[i - 2] + dp[i] 
    
    dp[i] %= 1000000007
    
print(dp[n])

### FIXED CODE ###

n, m = map(int, input().split())
issafe = [True] * (n +1)
for _ in range(m):
    a = int(input())
    issafe[a] = False

dp = [0] * (n + 1)
dp[0] = 1
if issafe[1]:
    dp[1] = 1

for i in range(2, n + 1):
    if  issafe[i - 1]:
        dp[i] = dp[i] + dp[i - 1]
    if issafe[i -  2]:
        dp[i] = dp[i - 2] + dp[i] 
    
    dp[i] %= 1000000007
    
print(dp[n])
n, m, x = [int(e) for e in input().split()]

import numpy as np

all = np.zeros(n*(m+1)).reshape(n,m+1)

for i in range(n):
    all[i] += [int(e) for e in input().split()]

bool_list = np.array([])
a = []
b = []
def make(n):
    if len(a) == n:
        b.append([0 for _ in range(n)])
        for i,v in enumerate(a) :
            if v == True:
                b[-1][i] = True
            else:
                b[-1][i] = False
    else:
        for i in [True,False]:
            a.append(i)
            make(n)
            a.pop()

make(n)
c=np.array(b)

dp=[10**10]

for i in c:
    if all[i][:,1].sum(axis = 0) >=x :
        dp = min(dp,all[i][:,0].sum(axis = 0))

if dp ==[10**10]:
    dp = [-1]
print(int(dp[0]))

### FIXED CODE ###

n, m, x = [int(e) for e in input().split()]

import numpy as np

all = np.zeros(n*(m+1)).reshape(n,m+1)

for i in range(n):
    all[i] += [int(e) for e in input().split()]

bool_list = np.array([])
a = []
b = []
def make(n):
    if len(a) == n:
        b.append([0 for _ in range(n)])
        for i,v in enumerate(a) :
            if v == True:
                b[-1][i] = True
            else:
                b[-1][i] = False
    else:
        for i in [True,False]:
            a.append(i)
            make(n)
            a.pop()

make(n)
c=np.array(b)

dp=10**10

for i in c:
    if (all[i][:,1:].sum(axis = 0) >=x).all() :
        dp = min(dp,all[i][:,0].sum(axis = 0))

if dp ==10**10:
    dp = -1
print(int(dp))
N = int(input())
A_list = []

for i in range(N):
  A_list.append(int(input()))
  
len_org = len(A_list)
len_uniq = len(list(set(A_list)))

if len_org == len_uniq:
  print("YES")
else:
  print("NO")

### FIXED CODE ###

N = int(input())
A_list = []

hoge = input().split()

for i in range(N):
  A_list.append(int(hoge[i]))
  
len_org = len(A_list)
len_uniq = len(list(set(A_list)))

if len_org == len_uniq:
  print("YES")
else:
  print("NO")
o_list = o.split(" ")
o_list_i = [int(s) for s in o_list]
o_list_i.sort()

o0 = int(o_list_i[0])
o1 = int(o_list_i[1])
print( o0 + o1 )

### FIXED CODE ###

o = input()
o_list = o.split(" ")

p = int(o_list[0])
q = int(o_list[1])
r = int(o_list[2])
pq = p + q
qr = q + r
rp = r + p

if pq <= qr and pq <= rp:
    print(pq)
elif qr <= rp and qr <= pq:
    print(qr)
elif rp <= pq and rp <= qr:
    print(rp)
S = list(input())

mn = 0
ans = 0
for s in S:
  if s == '<':
    a += 1
  elif s == '>':
    a -= 1
    mn = min(mn,a)    
  
  ans += a
  
plus = -mn
ans += plus * (len(S) + 1)
print(ans)


### FIXED CODE ###

S = list(input())
N = len(S) + 1

from_left = [0] * N
from_right = [0] * N

for i in range(N-1):
  s = S[i]
  if s == '<':
    from_left[i+1] = from_left[i] + 1

for i in range(N-2,-1,-1):
  s = S[i]
  if s == '>':
    from_right[i] = from_right[i+1] + 1
    
ans = 0
for i in range(N):
  ans += max(from_left[i],from_right[i])
  
print(ans)
n = int(input())
temp = input()
h = temp.split()
for i,item in enumerate(h):
    h[i] = int(item)
dp = [0]
print(dp)
for i,height in enumerate(h):
    if i >=2:
        step1 = dp[i - 1] + abs(height - h[i-1])
        step2 = dp[i-2] + abs(height - h[i-2])
        dp.append(step1 if step1 <= step2 else step2)
    elif i == 1:
        dp.append(abs(height - h[i-1]))

    print(dp)

print(dp)




### FIXED CODE ###


n = int(input())
temp = input()
h = temp.split()
for i,item in enumerate(h):
    h[i] = int(item)
dp = [0]
for i,height in enumerate(h):
    if i >=2:
        step1 = dp[i - 1] + abs(height - h[i-1])
        step2 = dp[i-2] + abs(height - h[i-2])
        dp.append(step1 if step1 <= step2 else step2)
    elif i == 1:
        dp.append(abs(height - h[i-1]))

print(dp.pop())
def check(num,k):
    if(num<k):
        return num==1
    if(num % k==0):
        return check(num//k,k)
    else:
        return check(num%k,k)

n=int(input())

yakusu=[[],[]]
for i in range(2):
    kazu=n-i
    for j in range(1,kazu+1):
        if(j*j>kazu):
            break
        if(kazu%j==0):
            if(j!=1):
                yakusu[i].append(j)
            yakusu[i].append(kazu//j)
    yakusu[i].sort()

#for i in range(2):
#    print(yakusu[i])


ans=[]

for i in range(2):
    for y in yakusu[i]:
        if(check(n,y)):
            ans.append(y)

ans.sort()
#print(ans)
print(len(ans))


### FIXED CODE ###

def check(num,k):
    if(num<k):
        return num==1
    if(num % k==0):
        return check(num//k,k)
    else:
        return check(num%k,k)

n=int(input())

yakusu=[[],[]]
for i in range(2):
    kazu=n-i
    for j in range(1,kazu+1):
        if(j*j>kazu):
            break
        if(kazu%j==0):
            if(j!=1):
                yakusu[i].append(j)
            if(j*j!=kazu):
                yakusu[i].append(kazu//j)
    yakusu[i].sort()

#for i in range(2):
#    print(yakusu[i])


ans=[]

for i in range(2):
    for y in yakusu[i]:
        if(check(n,y)):
            ans.append(y)

ans.sort()
#print(ans)
print(len(ans))
from sys import stdin

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

N, X = [int(x) for x in stdin.readline().rstrip().split()]
x_lst = sorted(set([abs(int(x)-X) for x in stdin.readline().rstrip().split()]))

if len(x_lst) == 1:
  print(x_lst[0])
else:
  prev_x = x_lst[0]
  for x in x_lst[1:]:
    prev_x = gcd(prev_x, x)
    if prev_x == 1: break
  print(prev_x)

### FIXED CODE ###

from sys import stdin

A,B = [int(x) for x in stdin.readline().rstrip().split()]

if(A*B % 2 == 0): print('No')
else: print('Yes')
first=input()
hantei=list(map(int,input().split()))
print("{0} {1} {2}".format(min(hantei),max(hantei),sum(hantei))

### FIXED CODE ###

first=input()
hantei=list(map(int,input().split()))
print("{0} {1} {2}".format(min(hantei),max(hantei),sum(hantei)))
import math

r = float(input())

s = r**2*math.pi
v = 2*math.pi*r

print("{0:.6f} {1:.6f}".format(s, V))

### FIXED CODE ###

import math

r = float(input())

s = r*r*math.pi
v = 2*math.pi*r

S = round(s, 6)
V = round(v, 6)

print(S, V)
import numpy as np
N, M = map(int, input().split())
menu = np.array([])
for i in range(N):
  a = np.array(input().split())
  menu = np.append(menu, a[1:])
menu = np.array(menu).astype(int).ravel()
count = 0
for i in range(1, M+1):
  if np.sum(menu == i) == N:
    count += 1
print(count)

### FIXED CODE ###

A, B = map(int, input().split())
if B % A == 0:
  print(A+B)
else:
  print(B-A)
n=int(input())
x=list(map(int,input().split()))
y=sorted(x)
l=y[n//2-1]
r=y[n//2]
for a in x:
  print(L if a >= R else R) 


### FIXED CODE ###

n=int(input())
x=list(map(int,input().split()))
y=sorted(x)
l=y[n//2-1]
r=y[n//2]
for a in x:
  print(l if a >= r else r)
N = int(input())

a = sorted(map(int,input().split()))

a.reverse()

A = []
B = []

for x in range(0,N+1,2):
    A.append(a[x])
    
if N%2 == 1:
    for y in range(1,N,2):
        B.append(a[y])
        
    
else:
    for y in range(1,N+1,2):
        B.append(a[y])
    
    
    

    

print(sum(A)-sum(B))


### FIXED CODE ###

N = int(input())
A = int(input())

S = N%500

print("Yes") if A >= S else print("No")
s = input()
x,y = map(int,input().split())
k = 0
data = [[],[]]
f = 0
p = 1
for s_ in s:
    if p==1 and s_=='F':
        x -= 1
        continue
    p = 0
    if s_ == 'T':
        if f:
            data[k].append(f)
        k = (k+1)%2
        f = 0
    else:
        f += 1
if f:
    data[k].append(f)

nx = sum(data[0])
ny = sum(data[1])

if nx<x or ny<y:
    print('No')
    exit()

dpx = [[0]*8001 for _ in range(len(data[0])+1)]
dpy = [[0]*8001 for _ in range(len(data[1])+1)]
x_zero = 0
y_zero = 0
dpx[0][x_zero] = 1
dpy[0][y_zero] = 1

for i in range(len(data[0])):
    for j in range(len(dpx[i])):
        if dpx[i][j]==1:
            dpx[i+1][j+data[0][i]] = 1
            dpx[i+1][j-data[0][i]] = 1

for i in range(len(data[1])):
    for j in range(len(dpy[i])):
        if dpy[i][j]==1:
            dpy[i+1][j+data[1][i]] = 1
            dpy[i+1][j-data[1][i]] = 1
if dpx[-1][x_zero+x]==1 and dpy[-1][y_zero+y]==1:
    print('Yes')
else:
    print('No')

### FIXED CODE ###

now=0
idx=-1
data=[[],[]]
cnt=0
for s in input():
    if s=='F':
        cnt+=1
    elif s=='T':
        if idx==-1:
            now+=cnt
            cnt=0
            idx=1
        elif idx==0:
            data[0].append(cnt)
            cnt=0
            idx=1
        elif idx==1:
            data[1].append(cnt)
            cnt=0
            idx=0
if idx==-1:
    now+=cnt
else:
    data[idx].append(cnt)
def solve(target,move):
    dp={0,}
    for m in move:
        dpc=dp.copy()
        dp=set()
        for k in dpc:
            dp|={k-m,k+m}
    if target in dp:
        return True
    return False
x,y=map(int,input().split())
x-=now
if solve(x,data[0]) and solve(y,data[1]):
    print('Yes')
else:
    print('No')
n=int(input())

result=[]
for i in range(1,n+1):
    if i %3==0:
        result.append(i)
    else:
        k=i
        for j in range(1,5):
            if k%(10**j)==3:
                result.append(i)
                break
            else:
                k=k//10**j
        else:
            continue

print(" "," ".join(result))

### FIXED CODE ###

n=int(input())
 
result=[]
for i in range(1,n+1):
    if i %3==0:
        result.append(i)
    else:
        k=i
        for j in range(1,5):
            if k%10==3:
                result.append(i)
                break
            else:
                k=k//10
        else:
            continue
 
print("",*result)
K=int(input())
A,B=map(int,input().split())
a='NG'
for i in range(A,B+1):
  if i%K==0:
    a=OK'
    break
print(a)
  


### FIXED CODE ###

K=int(input())
A,B=map(int,input().split())
a='NG'
for i in range(A,B+1):
  if i%K==0:
    a='OK'
    break
print(a)
a, b, c=input()
  print('Yes' if a==c else 'No')

### FIXED CODE ###

a, b, c=input()
print('Yes' if a==c else 'No')
import numpy as np

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


class Node:
    def __init__(self, parent):
        self.parent = parent
        self.leaf = []
        self.score = 0

    def add_score(self, score):
        self.score += score
        for l in self.leaf:
            tree[l].add_score(score)


tree = {1: Node(None)}
tmp = np.array([list(map(int, input().split())) for _ in range(N-1)])
for i in np.argsort(tmp[:, 0]):
    p, c = tmp[i][0], tmp[i][1]
    if p not in tree:
        tree[p] = Node(None)
    tree[p].leaf.append(c)
    if c not in tree:
        tree[c] = Node(p)

for p, x in [tuple(map(int, input().split())) for _ in range(Q)]:
    tree[p].add_score(x)

print(' '.join([str(t.score) for t in tree.values()]))


### FIXED CODE ###

from collections import defaultdict

N, Q = map(int, input().split())
d = defaultdict(list)

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

c = defaultdict(int)

for _ in range(Q):
    p, x = map(int, input().split())
    c[p] += x

ans = [0 for i in range(N)]
que = [(1, 0, -1)]
while len(que) > 0:
    tmp = []
    for v, x, par in que:
        x += c[v]
        ans[v - 1] = str(x)
        for w in d[v]:
            if w != par:
                tmp.append((w, x, v))
    que = tmp

print(*ans)
a=int(input())
if a<105:
  print(0)
elif 105<=a<135:
  print(1)
elif 135<=a<165:
  print(2)
elif 165<=a<189:
  print(3)
elif:189<=a
  print(4)

### FIXED CODE ###

a=int(input())
if a<105:
  print(0)
if 105<=a<135:
  print(1)
if 135<=a<165:
  print(2)
if 165<=a<189:
  print(3)
if 189<=a<195:
  print(4)
if 195<=a:
  print(5)
N,M = map(int,input().split())
PY = [list(map(int,input().split())) for _ in range(M)]
for i in range(M):
    PY[i].append(i)
PY.sort(key=lambda x:x[1])
ans = [0]*M
num = [0]*N
for p,y,i in PY:
    ans[i] = str(p).zfill(6) + str(num[p]+1).zfill(6)
    num[p] += 1
for s in ans:print(s)

### FIXED CODE ###

N,M = map(int,input().split())
PY = [list(map(int,input().split())) for _ in range(M)]
for i in range(M):
    PY[i].append(i)
PY.sort(key=lambda x:x[1])
ans = [0]*M
num = [0]*N
for p,y,i in PY:
    ans[i] = str(p).zfill(6) + str(num[p-1]+1).zfill(6)
    num[p-1] += 1
for s in ans:print(s)
D,T,S = map(int, input().split())

if T-D/S>= 0:
    print("Yes")
  else:
    print("No")

### FIXED CODE ###

D,T,S = map(int, input().split())

if T-D/S >= 0:
    print("Yes")
else:
    print("No")