Harryxun/stf_run huggingface dataset:
N = int(input())
A = int(input())
B = int(input())

if N == 1:
  print("Hello World")
else:
  print(A+B)

### FIXED CODE ###

N = int(input())
if N == 1:
  print("Hello World")
else:
  A = int(input())
  B = int(input())
  print(A+B)
N = int(input())
ABC = [list(map(int, input().split())) for i in range(N-1)]
Q, K = map(int, input().split())
D = [0] * (N+1)
L = [[] for i in range(N+1)]
for a, b, c in ABC:
    L[a].append([b, c])
    L[b].append([a, c])
 
 
def dfs(n, np):
    for nc in L[n]:
        if nc[0] == np:
            continue
        else:
            D[nc[0]] = D[n] + nc[1]
            dfs(nc[0], n)
 
 
dfs(K, 0)
for i in range(Q):
    x, y = map(int, input().split())
    print(D[x] + D[y])



### FIXED CODE ###

import sys
sys.setrecursionlimit(500000)
 
N = int(input())
ABC = [list(map(int, input().split())) for i in range(N-1)]
Q, K = map(int, input().split())
D = [0] * (N+1)
L = [[] for i in range(N+1)]
for a, b, c in ABC:
    L[a].append([b, c])
    L[b].append([a, c])
 
 
def dfs(n, np):
    for nc in L[n]:
        if nc[0] == np:
            continue
        else:
            D[nc[0]] = D[n] + nc[1]
            dfs(nc[0], n)
 
 
dfs(K, 0)
for i in range(Q):
    x, y = map(int, input().split())
    print(D[x] + D[y])
S = input()
print('Yes' len(set(S)) == 2 else 'No')

### FIXED CODE ###

S = input()
print('Yes' if len(set(S)) == 2 else 'No')
x,y = map(int,input().split())

hx = hex(x)
hy = hex(y)

if hx < hy:
  print("<")
elif hx > hy:
  print(">")
else:
  print("=")


### FIXED CODE ###

x,y = input().split()

if x < y:
  print("<")
elif x > y:
  print(">")
else:
  print("=")
n,t=map(int,input().split())
ab=[list(map(int,input().split())) for _ in range(n)]
ans=0
ab.sort(key=lambda x:x[0])
ab.sort(key=lambda x:x[1], reverse=True)
g=[]
f=[]
for i in range(n):
    a,b=ab[i]
    c=0
    now=0
    ok=[]
    no=[]
    for j in range(n):
        if i==j:
            continue
        now+=ab[j][0]
        if now<t:
            c+=ab[j][1]
            ok.append(ab[j])
        else:
            now-=ab[j][0]
            no.append(ab[j])
    if ans<c+b:
        ans=c+b
        g=ok
        f=no

g.sort(key=lambda x:x[1])
f.sort(key=lambda x:x[1],reverse=True)
ans2=ans
if f:
    ans2+=f[0][1]-g[0][1]

print(max(ans,ans2))


### FIXED CODE ###

n,t=map(int,input().split())
ab=[tuple(map(int,input().split())) for _ in range(n)]
ab.sort(key=lambda x:x[0])
ab.insert(0,(0,0))
dp=[[0]*t for _ in range(n+1)]
for i in range(1,n+1):
    a,b=ab[i]
    if a<t:
        dp[i][a]=max(dp[i-1][a],b)
    for j in range(t):
        if dp[i-1][j]==0:
            continue
        if j+a<t:
            dp[i][j+a]=max(dp[i][j+a],dp[i-1][j]+b)
        dp[i][j]=max(dp[i-1][j],dp[i][j])
ans=0
p=[j for i,j in ab]
for i in range(1,n):
    ans=max(ans,max(dp[i])+max(p[i+1:]))
ans=max(ans,max(dp[n]))
print(ans)
a,b = map(int(input().split())

print(-(a//(2*b+1)))

### FIXED CODE ###

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

print(-((-a)//(2*b+1)))
s = input()

def rle(s):
	tmp, count, ans = s[0], 1, ""
	for i in range(1,len(s)):
		if tmp == s[i]:
			count += 1
		else:
			ans += tmp + str(count)
			tmp = s[i]
			count = 1
	ans += tmp + str(count)
	return ans

r = rle(s)

if (len(r) // 2) % 2 == 1:
	r += '>0'

res = 0
for i in range(len(r) // 4):
	a, b = int(r[4*i+1]), int(r[4*i+3])
	ma, mi = max(a, b), min(a, b)
	res += (ma * (ma + 1)) // 2 + (mi * (mi - 1)) // 2
print(res)

### FIXED CODE ###

s = input()
n = len(s)
res = [0] * (n + 1)
t = 0
for i in range(n):
	if s[i] == '<':
		t += 1
	else:
		t = 0
	res[i + 1] = t

t = 0
for i in range(n - 1, -1, -1):
	if s[i] == '>':
		t += 1
	else:
		t = 0
	res[i] = max(res[i], t)

print(sum(res))
N, T = map(int, input().split())

AB = [tuple(map(int, input().split())) for _ in range(N)]


AB.sort()

dp = [[0 for _ in range(T)] for _ in range(N+1)]




for i in range(N):
    for j in range(T):
        if AB[i][0] > j:
            dp[i+1][j] = dp[i][j]
        else:
            dp[i+1][j] = max(dp[i][j], dp[i][j - AB[i][0]] + AB[i][1] )


# 使ってないものを探す

used = [False] * N
j = T-1
#print("j =", j)
for i in reversed(range(N)):
    if dp[i+1][j] == 0:
        break
    #for j in reversed(range(T)):
    # i を使う場合
    #print(i, dp[i][j - AB[i][0]] + AB[i][1] , dp[i][j])
    #print("i, j, dp(i+1,j), dp[i+1][j - AB[i][0]] + AB[i][1] ", i, j, dp[i+1][j], dp[i+1][j - AB[i][0]] + AB[i][1] )
    if dp[i][j - AB[i][0]] + AB[i][1] == dp[i+1][j]:
        used[i] = True
        j -= AB[i][0]
        #print("j =", j)
    
#print(used)

last = 0
for i in range(N):
    if not used[i]:
        last = max(last, AB[i][1])

print(dp[N][-1] + last)

#print(dp)



### FIXED CODE ###


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

AB = [tuple(map(int, input().split())) for _ in range(N)]


AB.sort()

dp = [[0 for _ in range(T)] for _ in range(N+1)]




for i in range(N):
    for j in range(T):
        if AB[i][0] > j:
            dp[i+1][j] = dp[i][j]
        else:
            dp[i+1][j] = max(dp[i][j], dp[i][j - AB[i][0]] + AB[i][1] )


ans = 0
for i, d in enumerate(dp):
    # dp[i][:]にはi-1番目までで最大の満足度が入れられてるから、ABのi以降（使ってないから）で一番大きいのを足す
    mb = 0
    for a,b in AB[i:]:
        mb = max(mb, b)
    ans = max(ans, d[-1] + mb)

print(ans)
import numpy as np

x = 1000000007

S = input()
S = [int(s) if s != '?' else s for s in S]
S = S[::-1]

r = np.zeros((13,))
new_r = np.zeros((13,))

r[0] = 1

for i, s in enumerate(S):
    for j in range(10):
        if s != '?' and s != j:
            continue

        digit_r = ((10 ** i) * j) % 13

        for k in range(13):
            new_r[(digit_r + k) % 13] += r[k]

    new_r %= x

    r = new_r
    new_r = np.zeros((13,))

print(int(r[5] % x))


### FIXED CODE ###

x = 1000000007

S = input()
S = [int(s) if s != '?' else s for s in S]

dp = [[0 for j in range(13)] for i in range(len(S) + 1)]
dp[0][0] = 1

for i, s in enumerate(S):
    for j in range(10):
        if s != '?' and s != j:
            continue

        for k in range(13):
            dp[i + 1][(10 * k + j) % 13] += dp[i][k] % x

print(int(dp[-1][5] % x))
N = set(int(input()))
if len(N)<=2:
  print("Yes")
else:
  print("No")

### FIXED CODE ###

n = input()
mae_n = n[:-1]
ushiro_n = n[1:]
if (len(set(mae_n))==1)or(len(set(ushiro_n))==1):
  print("Yes")
else:
  print("No")
import numpy as np
def lcd(a,b):
  return a*b//np.gcd(a,b)
N=int(input())
T=int(input())
for i in range(N-1):
  t=int(input())
  T=lcd(t,T)
print(T)


### FIXED CODE ###

from fractions import gcd
def lcm(a,b):
    return a*b//gcd(a,b)
N=int(input())
T=int(input())
for i in range(N-1):
    t=int(input())
    T=lcm(t,T)
print(T)
n = int(input())
a = list(map(int, input().split()))

a.sort()
minus, plus = [], []

for x in a:
    if x < 0:
        minus.append(x)
    else:
        plus.append(x)

tmp = sum([abs(x) for x in a])

if len(minus) % 2 == 0:
    print(tmp)
else:
    if abs(minus[-1]) > plus[0]:
        print(tmp - plus[0] * 2)
    else:
        print(tmp + minus[-1] * 2)

### FIXED CODE ###

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

a.sort()
minus, plus = [], []

for x in a:
    if x < 0:
        minus.append(x)
    else:
        plus.append(x)

tmp = sum([abs(x) for x in a])

if len(minus) % 2 == 0:
    print(tmp)
else:
    if plus == [] or abs(minus[-1]) < plus[0]:
        print(tmp + minus[-1] * 2)
    else:
        print(tmp - plus[0] * 2)
w = map(int, input().split())
wv = [list(map(int, input().split())) for i in range(n)]
l = [0] * (n + 1)
for i in range(n + 1):
    l[i] = [0] * w
for i in range(1, n + 1):
    for j in range(w):
        if wv[i - 1][0] <= j:
            l[i][j] = max(l[i - 1][j], (l[i - 1][j + 1 - wv[i - 1][0]] + wv[i - 1][1]))
        else:
            l[i][j] = l[i - 1][j]
print(l[n][w - 1])


### FIXED CODE ###

n, w = map(int, input().split())
l1 = [list(map(int, input().split())) for i in range(n)]
v = 0
for i in range(n):
  v += l1[i][1]
d = [10 ** 9 + 1] * (v + 1)
d[0] = 0
for i in range(n):
    for j in range(v, -1, -1):
        d[j] = min(d[j], d[j - l1[i][1]] + l1[i][0])
answer = 0
for j in range(v + 1):
    if  w >= d[j]:
        answer = max(answer, j)
print(answer)
N = int(input())
A = [0]*(2*10**5+1)
A[0] = 1
total = 0
count = 0
for a in input().split():
    total += int(a)
    count += A[total] 
    A[total] += 1
print(count)

### FIXED CODE ###

N = int(input())
A = {0:1}
total = 0
count = 0
for a in input().split():
    total += int(a)
    if total in A:
        count += A[total]
        A[total] += 1
    else:
        A[total] = 1
print(count)
# B - Median Pyramid Easy
from collections import deque
N,x = map(int,input().split())
if x==1 or x==2*N-1:
    print('No')
elif N==2:
    print('Yes')
    for x in range(1,4):
        print(x)
else:
    print('Yes')
    if x==2:
        num = deque(list(range(5,2*N)))
        que = deque([3,2,1,4])
    else:
        num = deque(list(range(1,x-2))+list(range(x+2,2*N)))
        que = deque([x-1,x,x+1,x-2])
    for i in range(2*N-1):
        if N-1<=i<=N+2:
            print(que.popleft())
        else:
            print(num.popleft())

### FIXED CODE ###

# B - Median Pyramid Easy
from collections import deque
N,x = map(int,input().split())
if x==1 or x==2*N-1:
    print('No')
elif N==2:
    print('Yes')
    for x in range(1,4):
        print(x)
else:
    print('Yes')
    if x==2:
        num = deque(list(range(5,2*N)))
        que = deque([3,2,1,4])
    else:
        num = deque(list(range(1,x-2))+list(range(x+2,2*N)))
        que = deque([x-1,x,x+1,x-2])
    for i in range(2*N-1):
        if N-2<=i<=N+1:
            print(que.popleft())
        else:
            print(num.popleft())
n = int(input())

def prime_factorise(n):
    a = []
    tmp = n
    for i in range(2, int(n**0.5//1 + 1)):
        if tmp % i == 0:
            index = 0  # 指数
            while tmp % i == 0:
                index += 1
                tmp //= i
            a.append([i, index])

    if tmp != 1:
        a.append([tmp, 1])

    print(a)
    return a

x = prime_factorise(n)
count = 0


for i in range(len(x)):
    if x[0][0] == 1:
        break

    k = x[i][1]  # 指数の値
    for j in range(k):
        if n % (x[i][0] ** (j+1)) == 0:
            n //= x[i][0] ** (j+1)
            count += 1
            k -= (j+1) #指数の値をへらす

        elif n % (x[i][0]**(j+1)) != 0:
            break
        
        if k <= 0:
            break

print(count)

### FIXED CODE ###

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

ans = a*b
print(ans)
#coding:utf-8

n,k = map(int,input().split())
ls = list(map(int,input().split()))

# n, k = 5, 3
# ls = [-30,-10,10,20,50]

# n,k = 3,2
# ls=[10,20,30]

# n,k = 1,1
# ls = [0]

# n,k=8,5
# ls=[-9,-7,-4,-3,1,2,3,4]

def set_max(ls):
    try:
        return set([max(ls)])
    except:
        return set()
def set_min(ls):
    try:
        return set([min(ls)])
    except:
        return set()


plus = list(filter(lambda n:n>=0, ls))
minus = list(filter(lambda n:n<=0, ls))

neighbor = set_max(minus) | set_min(plus)

print (neighbor)
answer = []
for i in range(n-k+1):
    if len(set(ls[i:i+k])&neighbor)>0:
        print (ls[i:i+k])
        if sign(ls[i]*ls[i+k-1])<0:
            temp = [abs(ls[i]),abs(ls[i+k-1])]
            answer.append(2*min(temp)+max(temp))
        else:
            answer.append(2*max(temp))
print (min(answer))

# first = -1
# for i,point in enumerate(ls):
#     if point >= 0:
#         first = i
#         break
# size=k+1
# ans = []
# for i in range(size):
#     if first-size+i+1>=0 and first+i-1< len(ls):
#         temp = [0,ls[first-size+i+1],ls[first+i-1]]
#         temp = [abs(min(temp)),abs(max(temp))]
#         ans.append((2*min(temp)+max(temp)))
# print (min(ans))


### FIXED CODE ###

#coding:utf-8
import numpy as np
n,k = map(int,input().split())
ls = list(map(int,input().split()))

# n, k = 5, 3
# ls = [-30,-10,10,20,50]
#
# n,k = 3,2
# ls=[10,20,30]

# n,k = 1,1
# ls = [0]

# n,k=8,5
# ls=[-9,-7,-4,-3,1,2,3,4]
if not (0 in ls):
    ls.append(0)
    k+=1
#print (ls)

ls = np.array(ls)
ls.sort()
#print (ls)

idx = np.where(ls==0)[0][0]
#print (idx,k)
#print (idx+k)
start = max(0,idx-k)
goal = min(idx+k,len(ls)-1)

#print (start,goal)
answer = []
for i in range(goal-(k-1)+1):
    #print (i,i+k-1)
    mi = min(abs(ls[i]),abs(ls[i+k-1]))
    ma = max(abs(ls[i]),abs(ls[i+k-1]))
    #print (mi,ma)
    answer.append(2*mi+ma)
print (min(answer))
# def set_max(ls):
#     if len(ls)>0:
#         return set([max(ls)])
#     else:
#         return set()
# def set_min(ls):
#     if len(ls)>0:
#         return set([min(ls)])
#     else:
#         return set()
#
#
# plus = list(filter(lambda n:n>=0, ls))
# minus = list(filter(lambda n:n<=0, ls))
#
# neighbor = set_max(minus) | set_min(plus)
#
# #print (neighbor)
# answer = []
# cnt = 0
# for i in range(n-k+1):
#     if len(set(ls[i:i+k])&neighbor)>0:
#
#         #print (ls[i:i+k])
#         #print (np.sign(ls[i]*ls[i+k-1]))
#         temp = [abs(ls[i]),abs(ls[i+k-1])]
#         if np.sign(ls[i]*ls[i+k-1])<0:
#
#             answer.append(2*min(temp)+max(temp))
#         else:
#             answer.append(max(temp))
#         cnt += 1
#         if cnt == k + 1:
#             break
# print (min(answer))

# first = -1
# for i,point in enumerate(ls):
#     if point >= 0:
#         first = i
#         break
# size=k+1
# ans = []
# for i in range(size):
#     if first-size+i+1>=0 and first+i-1< len(ls):
#         temp = [0,ls[first-size+i+1],ls[first+i-1]]
#         temp = [abs(min(temp)),abs(max(temp))]
#         ans.append((2*min(temp)+max(temp)))
# print (min(ans))
#4問目
N = int(input())

# 使った数字を入れておくやつ
save = []

def prime_factorize(n):
    a = []
    while n % 2 == 0:
        a.append(2)
        n //= 2
    f = 3
    while f * f <= n:
        if n % f == 0:
            a.append(f)
            n //= f
        else:
            f += 2
    if n != 1:
        a.append(n)
    return a

def has_duplicates2(seq):
    seen = []
    unique_list = [x for x in seq if x not in seen and not seen.append(x)]
    return len(seq) != len(unique_list)

fact = prime_factorize(N)
# print(fact)
result  =  0
if has_duplicates2(fact):
    #重複した数字のリスト
    chofuku = [x for x in set(fact) if fact.count(x) > 1]
#     print(chofuku)
    for i in chofuku:
        Count = fact.count(i)
#         print(Count)
        if(Count == 3):
            result += 2
        else:
            result += math.floor(Count / 2)
#         print(result)
    #重複していない数の個数
    NOTchofuku = len((list(set(fact)))) - len(chofuku)
    print(result + NOTchofuku)
else:
    print(len(fact))

### FIXED CODE ###

#4問目
N = int(input())

def prime_factorize(n):
    a = []
    while n % 2 == 0:
        a.append(2)
        n //= 2
    f = 3
    while f * f <= n:
        if n % f == 0:
            a.append(f)
            n //= f
        else:
            f += 2
    if n != 1:
        a.append(n)
    return a

def has_duplicates2(seq):
    seen = []
    unique_list = [x for x in seq if x not in seen and not seen.append(x)]
    return len(seq) != len(unique_list)

fact = prime_factorize(N)
# print(fact)
result  =  0

if has_duplicates2(fact):
    #重複した数字のリスト
    chofuku = [x for x in set(fact) if fact.count(x) > 1]
    for i in chofuku:
        flag = True
        n = 1
        Count = fact.count(i) + 1
        while flag:
            if(1/2 * n * (n - 1) < Count <= 1/2 * n * (n + 1)):
                result += n-1
                flag = False
            else:
                n += 1
    
    #重複していない数の個数
    NOTchofuku = len((list(set(fact)))) - len(chofuku)
    print(result + NOTchofuku)
else:
    print(len(fact))
import numpy as np
A = [list(map(int, input().split())) for i in range(0,3)]
N = int(input())
b_list =list([int(input()) for i in range(0,N)])
count = np.zeros((3,3))
for i in range(0,3):
    for j in range(0,3):
        if A[i][j] in b_list:
            count[i][j] = count + 1
if (count.sum(axis=1) % 3 ==0).any():
    print('Yes')
elif (count.sum(axis=0) % 3 ==0).any():
    print('Yes')
elif count[0][0] + count[1][1] + count[2][2]:
    print('Yes')
elif count[2][0] + count[1][1] + count[0][2]:
    print('Yes')
else:
    print('No')

### FIXED CODE ###

import numpy as np
A = [list(map(int, input().split())) for i in range(0,3)]
N = int(input())
b_list =list([int(input()) for i in range(0,N)])
count = np.zeros((3,3))
for i in range(0,3):
    for j in range(0,3):
        if A[i][j] in b_list:
            count[i][j] = count[i][j] + 1
if (count.sum(axis=1)  ==3).any():
    print('Yes')
elif (count.sum(axis=0) ==3).any():
    print('Yes')
elif count[0][0] + count[1][1] + count[2][2]==3:
    print('Yes')
elif count[2][0] + count[1][1] + count[0][2]==3:
    print('Yes')
else:
    print('No')
a, b = input().split()

c = a + b
c = int(c)
print(c)

cc = math.sqrt(c)


if cc%1 == 0:
    print("Yes")
    

else:
    print("No")


### FIXED CODE ###

import math

a, b = input().split()

c = a + b
c = int(c)
cc = math.sqrt(c)


if cc%1 == 0:
    print("Yes")
    

else:
    print("No")
while True:
    H, W = [int(i) for i in input().split()]
    for h in range(h):
        for w in range(w):
            print('#', end='')

        print()

print()    

### FIXED CODE ###

while True:
    H, W = [int(i) for i in input().split()]
    if H == W == 0:
        break
 
    for h in range(H):
        for w in range(W):
            print('#', end='')
         
        print()
 
    print()
x = int(input())
count = 0
while money < x:
    money = int(money * 1.01)
    count += 1
print(count)


### FIXED CODE ###

money = 100
x = int(input())
count = 0
while money < x:
    money = int(money * 1.01)
    count += 1
print(count)
s = input().split()
n = int(s[3])

l1=[1]*int(s[0])
l2=[0]*int(s[1])
l3=[-1]*int(s[2])
l=l1+l2+l3
sum_=0
i=0
while i < n:
    sum_+=l[i]

    i += 1
print(sum_)

### FIXED CODE ###

s = input().split()
n = int(s[3])
sum_=0
if int(s[0]) >= n:
    sum_=1*n
elif int(s[0])+int(s[1]) >= n:
    sum_=1*(n-int(s[1]))
elif int(s[0])+int(s[1])+int(s[2]) >= n:
    sum_=1*int(s[0])+(-1*(n-int(s[0])-int(s[1])))

print(sum_)
N = int(input())
s = [input() for _ in range(N)]
count = [0]*5
for i in s:
    if i[0]=="M":
        count[0] += 1
    elif i[0]=="A":
        count[1] += 1
    elif i[0]=="R":
        count[2] += 1
    elif i[0]=="C":
        count[3] += 1
    elif i[0]=="H":
        count[4] += 1
ans = 1
i = 0;h = len(s)
while i < h:
    if count[i]==0:
        count.pop(i)
        h -= 1
        i = 0
    else:
        i += 1

if len(count)==0:
    ans = 0
elif len(count)<=3:
    ans = 1
    for i in count:
        ans *=  i
else:
    ans = 0
    for bit in range(1<<len(count)):
        a = []
        b = 1
        for i in range(len(count)):
            mask = 1<<i
            if mask&bit:
                a.append(count[i])
                b *= count[i] 
        if len(a)==3:
            ans +=b
    
print(ans)

### FIXED CODE ###

N = int(input())
s = [input() for _ in range(N)]
count = [0]*5
for i in s:
    if i[0]=="M":
        count[0] += 1
    elif i[0]=="A":
        count[1] += 1
    elif i[0]=="R":
        count[2] += 1
    elif i[0]=="C":
        count[3] += 1
    elif i[0]=="H":
        count[4] += 1
ans = 1
i = 0
h = len(count)
while i < h:
    if count[i]==0:
        count.pop(i)
        h -= 1
        i = 0
    else:
        i += 1

if len(count)<3:
    ans = 0
elif len(count)==3:
    ans = 1
    for i in count:
        ans *=  i
else:
    ans = 0
    for bit in range(1<<len(count)):
        a = []
        b = 1
        for i in range(len(count)):
            mask = 1<<i
            if mask&bit:
                a.append(count[i])
                b *= count[i] 
        if len(a)==3:
            ans +=b
    
print(ans)
s=list(input())
if s="AAA" or "BBB":
  print("No")
else:
  print("Yes")


### FIXED CODE ###

a=list(input())
if a[0]==a[1]==a[2]:
  print("No")
else:
  print("Yes")
N = input()
p = [int(input()) for i in range(N)]
print(sum(p) - max(p) // 2)

### FIXED CODE ###

N = int(input())
p = [int(input()) for i in range(N)]
print(sum(p) - max(p) // 2)
n = int(input())
a = input().split()
q = int(input())

for i in range(q):
    stdins = input().split()
    for j in range(n):
        a[j] = a[j].replace(stdins[0], stdins[1])
    ans = sum([int(an) for an in a])
    print(ans)


### FIXED CODE ###

def int2char(i):
    return chr(ord("a") + i - 1)

N = int(input())

ans = ""
while (True):
    N_lsb_int = ((N - 1) % 26) + 1
    N_next = int((N - N_lsb_int)/26)
    ans = int2char(N_lsb_int) + ans
    if N_next == 0:
        break
    N = N_next

print(ans)
from math import gcd
(A, B), = [list(map(int, s.split())) for s in open(0)]
print(int(A * B / gcd(A, B)))

### FIXED CODE ###

from fractions import gcd
(A, B), = [list(map(int, s.split())) for s in open(0)]
print(int(A * B / gcd(A, B)))
s=input()
if s[1]=='B':
  s[1]='R'
else:
  s[1]='B';
print(s)

### FIXED CODE ###

s=input()

if s[1]=='B':
  print('ARC')
else:
  print('ABC')
N = int(input())

print(float(1/2) if (N%2)==0 else float((N+1)/2*N)

### FIXED CODE ###

N = int(input())

print("0.5" if (N%2)==0 else ((N//2)+1)/N)
c = map(str,input().split())
if c == a or c == e or c == i or c == o or c == u:
  print(vowel)
else:
  print(consonant)

### FIXED CODE ###

c = input()
l = ["a","e","i","o","u"]
if c in l:
  print("vowel")
else:
  print("consonant")
n = input()

print(ans(0, int(n[0]), n[0]))


def ans(i, j, k):
    if i == 3:
        if j == 7:
            return k + '=7'
    return ans(i+1, j-int(n[i+1]), k+'-'+n[i+1]), ans(i+1, j+int(n[i+1]), k+'+'+n[i+1])


### FIXED CODE ###

def ans(i, j, k):
    if i == 3:
        if j == 7:
            print(k + '=7')
            exit()
    else:      #return ではなぜかけない？
        ans(i+1, j-int(n[i+1]), k+'-'+n[i+1]),
        ans(i+1, j+int(n[i+1]), k+'+'+n[i+1])

n = input()

print(ans(0, int(n[0]), n[0]))
# coding : utf-8

s = input()
K = int(input())

strlist = sorted(range(len(s)), key=lambda k :list(s)[k], reverse=False)
s_len = len(s)
strset = set(s[strlist[0]])

calcEnd = False
for i in range(len(s)):
    #for j in range(i+1, len(s)+1):
    for j in range(strlist[i+1], len(s)+1):
        #strset.add(s[i:j])
        strset.add(s[strlist[i]:j])

    if s[strlist[i+1]] != s[strlist[i]]:
        if len(strset) >= K:
            calcEnd = True
            break

    if calcEnd:
        break


strsetsort = sorted(strset, reverse=False)
ans = strsetsort[K-1]
print(ans)

### FIXED CODE ###

# coding: utf-8

s = input()
K = int(input())

n = len(s)

# sにでてくる英小文字1文字ごとをUTF-8コードのリストで管理する
pos = [[] for __ in range(256)]
for i in range(n):
    pos[ord(s[i])].append(i)

strset = set()
for c in range(ord('a'), ord('z')+1):
    for i in pos[c]:
        for j in range(K):
            strset.add(s[i:i+j+1])

    # 最初の1文字が最も若い英小文字で始まるすべての部分文字列がK以上なら、それより後ろになる文字列は調べなくて良い
    if len(strset) > K:
        break


strlist = list(strset)
strlist.sort()
print(strlist[K-1])
K = int(input())

if K < 10:
  print(K)
else:
  count = 9

queue = [1,2,3,4,5,6,7,8,9]

while count != K:
  for x in queue:
    if x%10 != 0:
      queue.append(10*x + (x%10) - 1)
      count += 1
      if count == K:
        break

    queue.append(10*x + (x%10))
    count += 1
    if count == K:
      break

    if x%10 != 9:
      queue.append(10*x + (x%10) + 1)
      count += 1
      if count == K:
        break

print(queue[-1])


### FIXED CODE ###

from copy import copy

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

# A <--> B
temp = copy(A)
A = copy(B)
B = copy(temp)

# A <--> C
temp = copy(A)
A = copy(C)
C = copy(temp)

print("%d %d %d" %(A,B,C))
a, b = map(int, input().split())

if a == b:
    print("Draw")
elif a == 1:
    print("Alice"):
elif b == 1:
    print("Bob")
elif a < b:
    print("Bob")
else:
    print("Alice")

### FIXED CODE ###

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

if a == b:
    print("Draw")
elif a == 1:
    print("Alice")
elif b == 1:
    print("Bob")
elif a < b:
    print("Bob")
else:
    print("Alice")
-*- coding: utf-8 -*-
# 整数の入力
a = int(input()) #1
# スペース区切りの整数の入力
b, c = map(int, input().split()) #2 3
# 文字列の入力
s = input()
# 出力
#print("{} {}".format(a+b+c, s))
print(str(a+b+c) + " " + s)

### FIXED CODE ###

# -*- coding: utf-8 -*-
# スペース区切りの整数の入力
N, M = map(int, input().split())
if N == M:
    print("Yes")
else:
    print("No")