Harryxun/stf_run huggingface dataset:
row = input().split()
print(row[0] * row[1], 2 * (row[0] + row[1]))



### FIXED CODE ###

row = input().split()
row = [ int(i) for i in row]

print(row[0] * row[1], 2 * (row[0] + row[1]))
# (d1+d2)/2 == n1, (d2+d3)/2 == n2... が矛盾なくなるようにする
# にぶたんを使う

n = int(input())
dum = list(map(int, input().split()))
count = 0
l, r = 0, (10 ** 9 + 1000000) // 2

while True:
    mid = (l + r) // 2
    # print(l, r, mid)
    rain = [0 for _ in range(n)]
    rain[0] += mid * 2
    flag = True
    for i in range(1, n):
        next_amount = (dum[i - 1] - (rain[i - 1] // 2)) * 2
        if next_amount < 0:
          flag = False
          break
        rain[i] += next_amount
    # print(rain)

    if flag and dum[-1] == (rain[-1] + rain[0]) // 2:
        rain = list(map(str, rain))
        print(" ".join(rain))
        exit()
    if (rain[0] + rain[-1]) // 2 < dum[-1]:
        # 最初に決めたやつが小さすぎた
        # print("{} は小さすぎた".format(rain[0]))
        l = mid + 1
    else:
        # 最初に決めたやつが大きすぎた
        # print("{} は大きすぎた".format(rain[0]))
        r = mid

    # セーフティネット 必要ないけど
    if count > 50:
        t = 5 / 0
        break
    count += 1

"""
7
110 50 53 50 11 36 88

11
38 7 15 15 9 31 23 1 5 55 81
"""


### FIXED CODE ###

# (d1+d2)/2 == n1, (d2+d3)/2 == n2... が矛盾なくなるようにする
# にぶたんを使う
# なんかしらんけど3問駄目だな...

n = int(input())
dum = list(map(int, input().split()))
count = 0
l, r = 0, (10 ** 10) // 2

while l < r:
    mid = (l + r) // 2
    # print(l, r, mid)
    rain = [0 for _ in range(n)]
    rain[0] += mid * 2
    for i in range(1, n):
        next_amount = (dum[i - 1] - (rain[i - 1] // 2)) * 2
        rain[i] += next_amount
    # print(rain)

    if dum[-1] == (rain[-1] + rain[0]) // 2:
        rain = list(map(str, rain))
        print(" ".join(rain))
        exit()
    if (rain[0] + rain[-1]) // 2 < dum[-1]:
        # 最初に決めたやつが小さすぎた
        # print("{} は小さすぎた".format(rain[0]))
        l = mid + 1
    else:
        # 最初に決めたやつが大きすぎた
        # print("{} は大きすぎた".format(rain[0]))
        r = mid

    # セーフティネット 必要ないけど
    if count > 50:
        t = 5 / 0
        break
    count += 1

"""
7
110 50 53 50 11 36 88

11
38 7 15 15 9 31 23 1 5 55 81
"""
int = x
print(x**2)


### FIXED CODE ###

x = int(input())
print(x ** 3)
import math
r=int(input())
m=r*r*math.pi
s=2*r*math.pi
print(m s)


### FIXED CODE ###

import math
r=float(input())
m=r*r*math.pi
s=2*r*math.pi
print(m,s)
n, k = map(lambda x: int(x), input().split())
s = input()

st = s[k].upper()
print(s[:k] + st + s[k+1:])

### FIXED CODE ###

n, k = map(lambda x: int(x), input().split())
s = input()
 
str = ""
for i in range(n):
  if i + 1 == k:
    str += s[i].lower()
  else:
    str += s[i]
print(str)
S = input()
K = int(input())

ans = 1

for i in range(K):
    if S[i] == 1:
        pass
    else:
        ans = S[i]

print(ans)


### FIXED CODE ###

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

# S = "111111111"
# K = 6565

ans = 1
ones = -1

for i in range(len(S)):
    if int(S[i]) == 1:
        pass
    else:
        ans = int(S[i])
        ones = i
        break

if ones == -1:
    ones = len(S) + 1

if K <= ones:
    ans = 1

print(ans)
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 ###

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)
class BinaryTree():
    def __init__(self):
        self.key = None
        self.parent = None
        self.left = None
        self.right = None

def insert(z):
    global root
    y = None
    x = root
    while(x != None):
        y = x
        if z.key < x.key:
            x = x.left
        else:
            x = x.right
    z.parent = y
    if y == None:
        root = z
    elif z.key < y.key:
        y.left = z
    else:
        y.right = z

def inoder(x):
    if x == No???e: return []
    else:
        r = []
        r.extend(inoder(x.left))
        r.append(str(x.key))
        r.extend(inoder(x.right))
    return r

def preoder(x):
    if x == None: return []
    else:
        r = []
        r.append(str(x.key))
        r.extend(preoder(x.left))
        r.extend(preoder(x.right))
    return r

def show(x):
    print(" ".join(inoder(x)))
    print(" ".join(preoder(x)))


root = None
n = int(input())
for i in range(n):
    L = input().split()
    if L[0] == "insert":
        T = BinaryTree()
        T.key = int(L[1])
        insert(T)
    else:
        show(root)

### FIXED CODE ###

#BinarySearchTree
class TreeNode():
    def __init__(self):
        self.key = None
        self.parent = None
        self.left = None
        self.right = None
    def inoder(self):
        r=[]
        if self.left:
            r += self.left.inoder()
        r += [self.key]
        if self.right:
            r += self.right.inoder()
        return r

    def preoder(self):
        r = [self.key]
        if self.left:
            r += self.left.preoder()
        if self.right:
            r += self.right.preoder()
        return r

class BinaryTree():
    def __init__(self):
        self.root = None

    def insert(self, z):
        y = None
        x = self.root
        while x != None:
            y = x
            if z.key < x.key:
                x = x.left
            else:
                x = x.right
        z.parent = y
        if y == None:
            self.root = z
        elif z.key < y.key:
            y.left = z
        else:
            y.right = z

    def show(self):
        x = self.root
        print(" " + " ".join(map(str, self.root.inoder())))
        print(" " + " ".join(map(str, self.root.preoder())))
 
 
n = int(input())
Tree = BinaryTree()
for i in range(n):
    L = input().split()
    if L[0] == "insert":
        Node = TreeNode()
        Node.key = int(L[1])
        Tree.insert(Node)
    else:
        Tree.show()
H, W = map(int, input().split())
S = [input().split() for i in range(H)]
F = [[0]*(W+2) for i in range(H+2)]
D = [(-1,0), (0,1), (0, -1), (1, 0)]

for i in range(H):
    for j in range(W):
        if S[i][j] == '#':
            for d in D:
                F[i+1+d][j+1+d] == '#'

print('Yes' if F[1:H+1][1:W+1] == S else 'No')

### FIXED CODE ###

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

for i in range(1, h-1):
    for j in range(1, w-1):
        if s[i][j] == '#' and s[i - 1][j] != '#' and s[i][j - 1] != '#' and s[i + 1][j] != '#' and s[i][j + 1] != '#':
            print('No')
            exit()
print('Yes')
if R < 1200:
    print('ABC')
elif R < 2800:
    print('ARC')
else:
    print('AGC')

### FIXED CODE ###

R = int(input())

if R < 1200:
    print('ABC')
elif R < 2800:
    print('ARC')
else:
    print('AGC')
import math

r = int(input())
s = r * r * math.pi
c = 2 * r * math.pi
print("{0:0.6f} {1:0.6f}".format(s, c))

### FIXED CODE ###

import math

r = float(input())
s = r * r * math.pi
c = 2 * r * math.pi
print("{0:0.6f} {1:0.6f}".format(s, c))
def LI():
  return [int(s) for s in input.split()]

A,B = LI()

print(A*B) if A < 10 and B < 10 else print(-1)

### FIXED CODE ###

def LI():
  return [int(s) for s in input().split()]

A,B = LI()

print(A*B) if A < 10 and B < 10 else print(-1)
def resolve(n, k, c):
    if abs(n - k) < n:
        n = abs(n - k)
        c += 1
        return resolve(n, k, c)
    else:
        return n
if __name__ == "__main__":
    n, k = [int(_) for _ in input().split()]
    c = 0
    n = resolve(n, k, c)
    print(n)


### FIXED CODE ###

n, k = [int(_) for _ in input().split()]
n = n % k
if abs(n - k) < n:
    print(abs(n -k))
else:
    print(n)
N = int(input())
hxy = []
hxy2 = []
for _ in range(N):
	x,y,h = map(int,input().split())
	if h == 0:
		hxy2.append([h,x,y])
		continue
	hxy.append([h,x,y])
hxy.sort(reverse=True)
xy = [[x,y] for x in range(101) for y in range(101)]
for i in range(len(hxy) - 1):
	h1,x1,y1 = hxy[i]
	for j in range(i + 1,len(hxy)):
		h2,x2,y2 = hxy[j]
		xy_copy = xy.copy()
		for x,y in xy_copy:
			if abs(x - x1) + abs(y - y1) - abs(x - x2) - abs(y - y2) != h2 - h1:
				xy.remove([x,y])
		if len(xy) == 1:
			x,y = xy[0]
			print(x,' ',y,' ',h1 + abs(x - x1) + abs(y - y1))
			exit()
for x,y in xy:
	for h1,x1,y1 in hxy2:
		if h1 + abs(x - x1) + abs(y - y1) - abs(x - x1) - abs(y - y1) >= 0:
			xy.remove([x,y])
	if len(xy) == 1:
			x,y = xy[0]
			print(x,' ',y,' ',h1 + abs(x - x1) + abs(y - y1))
			exit()

### FIXED CODE ###

N = int(input())
hxy = []
for _ in range(N):
        x,y,h = map(int,input().split())
        hxy.append([h,x,y])
hxy.sort(reverse=True)
xy = [[x,y] for x in range(101) for y in range(101)]
for i in range(len(hxy) - 1):
        h1,x1,y1 = hxy[i]
        for j in range(i + 1,len(hxy)):
                h2,x2,y2 = hxy[j]
                xy_copy = xy.copy()
                if h1 == 0 and h2 == 0:
                        xy.remove([x1,y1])
                        xy.remove([x2,y2])
                        if len(xy) == 1:
                                x,y = xy[0]
                                print(x,' ',y,' ',h1 + abs(x - x1) + abs(y - y1))
                                exit()
                        continue
                elif h1 == 0:
                        for x,y in xy_copy:
                                if abs(x - x2) + abs(y - y2) - abs(x - x1) - abs(y - y1) + h2 > 0:
                                        xy.remove([x,y])
                        if len(xy) == 1:
                                x,y = xy[0]
                                print(x,' ',y,' ',h1 + abs(x - x1) + abs(y - y1))
                                exit()
                        continue
                elif h2 == 0:
                        for x,y in xy_copy:
                                if abs(x - x1) + abs(y - y1) - abs(x - x2) - abs(y - y2)  + h1 > 0:
                                        xy.remove([x,y])
                        if len(xy) == 1:
                                x,y = xy[0]
                                print(x,' ',y,' ',h1 + abs(x - x1) + abs(y - y1))
                                exit()
                        continue
                

                for x,y in xy_copy:
                        if abs(x - x1) + abs(y - y1) - abs(x - x2) - abs(y - y2) != h2 - h1:
                                xy.remove([x,y])
                if len(xy) == 1:
                        x,y = xy[0]
                        print(x,' ',y,' ',h1 + abs(x - x1) + abs(y - y1))
                        exit()
import math
A, B = input().split()
A = int(A)
B = float(B)
B = format(B, '.20f')
# B *= 100
# B = int(B)
# ans = A*B
# ans /= 100
ans = A*B
print(math.floor(ans))


### FIXED CODE ###

A, B = input().split()
B = int(B[0]+B[-2]+B[-1])
A = int(A)
ans = A*B
print(ans//100)
# coding: utf-8
#codebegin
R=input()
r=int(R)
if r<1200:
    print("ABC"):
if r>(1200-1) and r<2800:
    print("ARC")
if r>(2800-1):
    print("AGC")

### FIXED CODE ###

# coding: utf-8
# Your code here!

R=input()
r=int(R)
if r<1200:
    print("ABC")
elif r<2800:
    print("ARC")
else:
    print("AGC")
from itertools import combinations as comb
N,K = map(int,input().split())
a = [int(i) for i in input().split()]
ans = float("INF")

for c in comb(range(1,N),K-1):
    cnt = 0
    color = 0
    mh = a[0]
    for i in range(1,N):
        if i == c[color]:
            cnt += max(mh-a[i]+1,0)
            idx += 1
            mh = max(mh+1,a[i])
        if color == K-1: break
    ans = min(cnt ,ans)
print(ans)

### FIXED CODE ###

N,K = map(int,input().split())
a = [int(i) for i in input().split()]
ans = float("INF")
for i in range(1<<N):
    cnt = 0
    tmp = a[:]
    m = tmp[0]
    for j in range(1,N):
        if i >> j & 1 and m >= tmp[j]:
            cnt += m - tmp[j] + 1
            tmp[j] = m + 1
        m = max(m,tmp[j])
    color = 1
    m = tmp[0]
    for j in range(1,N):
        if tmp[j] > m:
            color += 1
            m = tmp[j]
    if color >= K: ans = min(ans,cnt)
print(ans)
n = int(input())
l = list(map(input().split()))

l.sort(reverse = True)

if len(l) == n:
  lm = l[0]

  del l[0]

  if lm < sum(l):
    print('Yes')
  else:
    print('No')
else:
  print('No')


### FIXED CODE ###

n = int(input())
l = [int(i) for i in input().split()]

l.sort(reverse = True)

if len(l) == n:
  lm = l[0]

  del l[0]

  if int(lm) < sum(l):
    print('Yes')
  else:
    print('No')
else:
  print('No')
S = input()
Q=int(input())
Query=S
flag = True
for i in range(Q):
  S2=input()
  if S2=="1":
    flag = not flag
  else:
    x=S2.split()
    if flag:
      if x[1]=="1":
        Query=x[2]+Query
      else:
        Query=Query+x[2]
    else:
      if x[1]=="1":
        Query=Query+x[2]
      else:
        Query=x[2]+Query
if flag==False:
  Query.reverse()

print(Query)

### FIXED CODE ###

Query=list(input())
Q=int(input())
flag = True
strF=[]
strB=[]
for i in range(Q):
  S2=input()
  if S2=="1":
    flag = not flag
  else:
    x=S2.split()
    if flag:
      if x[1]=="1":
        strF.append(x[2])
      else:
        strB.append(x[2])
    else:
      if x[1]=="1":
        strB.append(x[2])
      else:
        strF.append(x[2])

if flag:
  strF.reverse()
  Query=strF+Query+strB
else:
  strB.reverse()
  Query.reverse()
  Query=strB+Query+strF
 
print("".join(Query))
print '%d' % x

### FIXED CODE ###

x = input()
print x**3
N=input()
a=list(map(int, input().split()))
b=a
c=1
if c<=N:
	d=a[c]
    b[d]=c
    c+=1
' '.join(b)

### FIXED CODE ###

N=int(input())
a=list(map(int,input().split()))
ans=[0]*N
for i in range(N):
	b=a[i]-1
	ans[b]=i+1
for i in range(N):
	print(ans[i])
n,m=map(int,input().split())
A=[]
count=[]
for i in range(m):
  a=int(input())
  if a-1 in A:
    print(0)
    break
  A.append(a)
A=sorted(list(set(A)))
c=1
d=1
for i in range(A[0]-1):
  c=d%(10**9+7)
  d=(c+d)%(10**9+7)
count.append(c)
if m>1:
  for i in range(1,len(A)-1):
    e=1
    f=1
    for j in range(A[i+1]-A[i]-2):
      e=f%(10**9+7)
      f=(e+f)%(10**9+7)
    count.append(e)
a=1
b=1
for i in range(n-A[-1]-1):
  a=b%(10**9+7)
  b=(a+b)%(10**9+7)
count.append(a)
Total=1
for i in range(len(count)):
  Total*=count[i]%(10**9+7)
print(Total%(10**9+7))

### FIXED CODE ###

n,m=map(int,input().split())
a=[int(input()) for i in range(m)]
a=set(a)
A=[0]*(n+1)
A[0]=1
for i in range(1,n+1):
  if i in a:
    A[i]==0
  else:
    A[i]=A[i-1]+A[i-2]
print(A[n]%(10**9+7))
S = input()
#print(len(S))
dire = ['dream','dreamer','erase','eraser']
flag = 0
i=0
j=0
num=0
count = [0]*100
while True:
    tmp = dire[count[num]]
    ind = i

    #if ind + len(dire[j]) <=len(S)+1:
        #print(j)
    for k in range(len(dire[count[num]])):
        if S[ind] != tmp[k]  or  i + len(dire[count[num]]) >=len(S)+1 :
            flag =0
            count[num]  += 1
            break
        else:
            ind = ind + 1
            if k==len(dire[count[num]])-1:
                i = i + len(dire[count[num]])
                num +=1
                flag = 1


    if   count[num] >= 4 and flag == 0:
        count[num] = 0
        num -= 1
        i = i - len(dire[count[num]])
        if count[num] != 3:
            count[num] += 1
        else:
            count[num] = 0
    if i >= len(S):
        print('YES')
        break
    elif count[0]==0 and flag == 0 and i <=0:
        print('NO')
        break


### FIXED CODE ###

S = input()
S_r = S[::-1]
dire = ['dream','dreamer','erase','eraser']
dire_r = [0]*4
for i in range(4):
    tmp = dire[i]
    dire_r[i] = tmp[::-1]
ind = 0

excep = 0

while ind  <len(S_r):
    if excep == 1:
        break
    flag2= 0
    for j in range(4):
        if flag2 ==0:
            case = 0
            for k in range(len(dire_r[j])):
                tmp = dire_r[j]

                if ind + k < len(S_r) and case == 0:
                #    print(j)
            #        print('S:'+S_r[ind+k])
            #        print('dire:'+tmp[k])
                    if S_r[ind+k] != tmp[k]:
                        flag = 0
                        case = 1
                        if j == 3:
                            excep = 1

                    elif k== len(dire_r[j])  -1:
                        ind = ind + len(dire_r[j])
                        flag = 1
                        case = 1
                        flag2 = 1


if flag == 1:
    print('YES')
else:
    print('NO')
n,m = list(map(int,input().split()))
l_list = [list(map(int,input().split())) for i in range(m)] 
p = list(map(int,input().split()))
output = 0

for i in range(2 ** n):
  lights = []
  for j in range(n+1):
    if ((i >> j) & 1):
      lights.append(j+1)
      
  for l in l_list:
    if len(set(l[1:]) & set(lights)) % 2 != p[l[0]-1] or len(set(l[1:]) & set(lights)) ==0:
      break
  else:
    output += 1
print(output)

### FIXED CODE ###

n,m = list(map(int,input().split()))
l_list = [list(map(int,input().split())) for i in range(m)] 
p = list(map(int,input().split()))
output = 0

for i in range(2 ** n):
  lights = []
  for j in range(n+1):
    if ((i >> j) & 1):
      lights.append(j+1)
      
  for inde, l in enumerate(l_list):
    if len(set(l[1:]) & set(lights)) % 2 != p[inde]:
      break
  else:
    output += 1
print(output)
A = input()
B = input()
C = input()

next_turn = A[0]
Acnt = 1
Bcnt = 0
Ccnt = 0
while True:
    if next_turn == 'a':
        next_turn = A[Acnt]
        Acnt += 1
        if Acnt == len(A)-1:
            print('A')
            break
    elif next_turn == 'b':
        next_turn = B[Bcnt]
        Bcnt += 1
        if Bcnt == len(B)-1:
            print('B')
            break
    elif next_turn == 'c':
        next_turn = C[Ccnt]
        Ccnt += 1
        if Ccnt == len(C)-1:
            print('C')
            break

### FIXED CODE ###

A = input()
B = input()
C = input()

next_turn = A[0]
Acnt = 1
Bcnt = 0
Ccnt = 0
while True:
    if next_turn == 'a':
        if Acnt == len(A):
            print('A')
            break
        next_turn = A[Acnt]
        Acnt += 1

    elif next_turn == 'b':
        if Bcnt == len(B):
            print('B')
            break
        next_turn = B[Bcnt]
        Bcnt += 1

    elif next_turn == 'c':
        if Ccnt == len(C):
            print('C')
            break
        next_turn = C[Ccnt]
        Ccnt += 1
import math
n = int(input())
a = 2


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

print(lcm(a, n))

### FIXED CODE ###

n = int(input())
print(2*n if n%2 else n)
from math import sqrt
N, M = map(int, input().split())

cand = []

for i in range(2, int(sqrt(M))+1):
    if M % i == 0:
        cand.append(i)
        cand.append(M//i)

cand.sort()

for j in cand:
    if N * j <= M:
        ans = j

print(ans)

### FIXED CODE ###

from math import sqrt
N, M = map(int, input().split())

cand = []

for i in range(1, int(sqrt(M))+1):
    if M % i == 0:
        cand.append(i)
        u = M // i
        if u != i:
            cand.append(u)

cand.sort()

ans = 1
for j in cand:
    if N * j <= M:
        ans = max(ans, j)

print(ans)
s = input()
week = ['SUN', 'MON', 'THE', 'WED', 'THU', 'FRI', 'SAT']
print(7 - week.index(s))

### FIXED CODE ###

s = input()
week = ['SUN', 'MON', 'TUE', 'WED', 'THU', 'FRI', 'SAT']
print(7 - week.index(s))
import math

def routing(s,g,route):
    ans=[]
    i=g
    while i!=-1:
        ans.append(i+1)
        i=route[i]
    return ans[::-1]

inf=100000
while True:
    n=input()
    if n==0:break
    L=[[inf]*n for i in range(n)]
    for i in range(n):
        L[i][i]=0
    B=[map(int,raw_input().split()) for i in range(n)]
    for i in range(n-1):
        for j in range(i+1,n):
            ba,xa,ya=B[i]
            bb,xb,yb=B[j]
            ba,bb=ba-1,bb-1
            d=math.sqrt(pow(xa-xb,2)+pow(ya-yb,2))
            if d<=50:
                L[ba][bb]=L[bb][ba]=d

    m=input()
    for p in range(m):
        s,g=map(int,raw_input().split())
        s,g=s-1,g-1
        n=len(L)
        done=[s]
        dist=[inf]*n
        dist[s]=0
        route=[-1]*n
        i=s
        while len(done)<n:
            for j in range(n):
                if j in done:
                    continue
                if dist[j]>dist[i]+L[i][j]:
                    dist[j]=dist[i]+L[i][j]
                    route[j]=i
            min_node_size=inf
            for v,w in enumerate(dist):
                if v not in done and w<min_node_size:
                    min_node_size=w
                    min_node_num=v
            i=min_node_num
            done.append(min_node_num)
        if dist[g]==inf:
            print 'NA'
        else:
            ans=routing(s,g,route)
            print " ".join(map(str,ans))

### FIXED CODE ###

import math

def dijkstra(s):
    d=[inf]*n
    pi=[inf]*n
    visited=[False]*n
    d[s]=0
    pi[s]=-1
    while True:
        mincost=inf
        for i in range(n):
            if not visited[i] and d[i]<mincost:
                mincost=d[i]
                u=i
        if mincost==inf:
            break
        visited[u]=True
        for v in range(n):
            if visited[v] or L[u][v]==inf:
                continue
            if d[u]+L[u][v]<d[v]:
                d[v]=d[u]+L[u][v]
                pi[v]=u
    return pi

def routing(pi,g):
    ans=[]
    i=g
    while i!=-1:
        ans.append(i+1)
        i=pi[i]
    return ans[::-1]

inf=100000
while True:
    n=input()
    if n==0:break
    L=[[inf]*n for i in range(n)]
    for i in range(n):
        L[i][i]=0
    B=[map(int,raw_input().split()) for i in range(n)]
    for i in range(n-1):
        for j in range(i+1,n):
            ba,xa,ya=B[i]
            bb,xb,yb=B[j]
            ba,bb=ba-1,bb-1
            d=math.sqrt(pow(xa-xb,2)+pow(ya-yb,2))
            if d<=50:
                L[ba][bb]=L[bb][ba]=d
    m=input()
    for i in range(m):
        s,g=map(int,raw_input().split())
        s,g=s-1,g-1
        pi=dijkstra(s)
        if pi[g]==inf:
            print "NA"
        else:
            ans=routing(pi,g)
            print " ".join(map(str,ans))
a = input()
if a%10 == 3:
  print('bon')
elif a%10 == 0 or 1 or 6 or 8:
  print('pon')
else:
  print('hon')


### FIXED CODE ###

a = int(input())
if a%10 == 3:
  print('bon')
elif a%10 == 0 or a%10 ==1 or a%10 ==6 or a%10 ==8:
  print('pon')
else:
  print('hon')
import math

N, K = map(int, input().split())
A = list(map(int, input().split()))
A.insert(0, 0)
B = [0] * (N+1)

def operation():
  global A, B, N
  for i in range(1, N+1):
     left = math.ceil(i - A[i] - 0.5)
    right = math.floor(i + A[i] + 0.5)
    if left < 1:
      left = 1
    if right > N:
      right = N
    for j in range(left, right+1):
      B[j] += 1


operation()

#print(A)
#print(B)

for _ in range(K):
  for i in range(1, N+1):
    A[i] = B[i]
    B[i] = 0
  operation()

print(A[1:])

### FIXED CODE ###

import math

N, K = map(int, input().split())
K = min(41, K)
A = list(map(int, input().split()))
A.insert(0, 0)

def operation():
  global A, N
  B = [0] * (N+1)
  for i in range(1, N+1):
    left = max(1, math.ceil(i - A[i] - 0.5))
    right = min(N, math.floor(i + A[i] + 0.5))
    B[left] += 1
    if right+1 <= N:
      B[right+1] -= 1
  for i in range(1, N+1):
    B[i] += B[i-1]
  return B


operation()

#print(A)
#print(B)

for _ in range(K):
  A = operation()

print(*A[1:])
A,B=map(int(input().split()))
l=[A+B,A-B,A*B]
print(max(l))

### FIXED CODE ###

A,B=map(int,input().split())
l=[A+B,A-B,A*B]
print(max(l))
a, b = input().split()

a = int(a)
b_unchi = b.split(".")
b_int = int(b[0])
b_float = int(b[1])
bbb = b_int * 100 + b_float
s = a * b
print(s // 100)

### FIXED CODE ###

a, b = input().split()

a = int(a)
b_unchi = b.split(".")
b_int = int(b_unchi[0])
b_float = int(b_unchi[1])
bbb = b_int * 100 + b_float
s = a * bbb
print(s // 100)
N,M=map(int,input().split())
i=N
while(i*2 <=M):
    if(M%i==0):
        break
    i+=1
if(i*2>M):
    i=M
print(M//i)

### FIXED CODE ###

n=int(input())
if(n==1):
    print("Hello World")
else:
    a=int(input())
    b=int(input())
    print(a+b)