Harryxun/stf_run huggingface dataset:
from fractions import gcd
n, X = map(int, input().split())
x = sorted([int(i) for i in input().split()] + [X])
diff_x = [x[i + 1] - x[i] for i in range(n)]
if len(diff_x) == 1:
    print(diff_x[0])
else:
    gcd = gcd(diff_x[0], diff_x[1])
    for i in range(2, n - 1):
        gcd = gcd(gcd, diff_x[i])
    print(gcd)

### FIXED CODE ###

from fractions import gcd
n, X = map(int, input().split())
x = sorted([int(i) for i in input().split()] + [X])
diff_x = [x[i + 1] - x[i] for i in range(n)]
if len(diff_x) == 1:
    print(diff_x[0])
else:
    d = gcd(diff_x[0], diff_x[1])
    for i in range(2, n):
        d = gcd(d, diff_x[i])
    print(d)
n = int(input())
xy = [list(map(int,input().split())) for i in range(n)]
cheby = []
for i in range(n):
    l = [xy[i][0]-xy[i][1],xy[i][0]+xy[i][1]]
    cheby.append(l)

xmax = 0
xmin = 10**10
ymax = 0
ymin = 10**10
for i in range(n):
    if cheby[i][0] >= xmax :
        xmax = cheby[i][0]
        xa = i
    if cheby[i][0] =< xmin :
        xmin = cheby[i][0]
        xi = i
    if cheby[i][1] >= ymax :
        ymax = cheby[i][1]
        ya = i
    if cheby[i][1] =< ymin :
        ymin = cheby[i][1]
        yi = i

if abs(xmax-xmin) > abs(ymax-ymin):
    print(abs(xy[xa][0]-xy[xi][0])+abs(xy[xa][1]-xy[xi][1]))
else :
    print(abs(xy[ya][0]-xy[yi][0])+abs(xy[ya][1]-xy[yi][1]))


### FIXED CODE ###

n = int(input())
xy = [list(map(int,input().split())) for i in range(n)]
cheby = []
for i in range(n):
    l = [xy[i][0]-xy[i][1],xy[i][0]+xy[i][1]]
    cheby.append(l)

xmax = -10**10
xmin = 10**10
ymax = -10**10
ymin = 10**10
for i in range(n):
    if cheby[i][0] > xmax :
        xmax = cheby[i][0]
        xa = i
    if cheby[i][0] < xmin :
        xmin = cheby[i][0]
        xi = i
    if cheby[i][1] > ymax :
        ymax = cheby[i][1]
        ya = i
    if cheby[i][1] < ymin :
        ymin = cheby[i][1]
        yi = i

if abs(xmax-xmin) > abs(ymax-ymin):
    print(abs(xy[xa][0]-xy[xi][0])+abs(xy[xa][1]-xy[xi][1]))
else :
    print(abs(xy[ya][0]-xy[yi][0])+abs(xy[ya][1]-xy[yi][1]))
import math
Nstring=int(input())
ans=(N*(N+1))/2
ans=ans-math.floor(N/3)
ans=ans-math.floor(N/5)
ans=ans+math.floor(N/15)
print(ans)

### FIXED CODE ###

import math
N=int(input())
ans=(N*(N+1))/2
ans=ans-3*math.floor(N/3)*(math.floor(N/3)+1)/2
ans=ans-5*math.floor(N/5)*(math.floor(N/5)+1)/2
ans=ans+15*math.floor(N/15)*(math.floor(N/15)+1)/2
print(int(ans))
anslist = []


def solve():

    S = input()

    def dfs(s, start, end):
        global anslist
        if end == len(s)+1:
            return

        if int(s[start:end]) % 2019 == 0:
            anslist.append(str(start)+str(end))

        dfs(s, start, end+1)
        dfs(s, start+1, end+1)

    dfs(S, 0, 4)
    print(len(set(anslist)))


if __name__ == "__main__":
    solve()


### FIXED CODE ###



def solve():

    s = input()
    mod = 2019
    remains = [0]*mod

    ans = 0
    now = 0
    remains[0] = 1
    for i, val in enumerate(s[::-1]):
        now += int(val) * pow(10, i, mod)
        now %= mod
        ans += remains[now]
        remains[now] += 1

    print(ans)


if __name__ == "__main__":
    solve()
import sys
K = int(input())
A = [int(x) for x in input().split()]
A.reverse()
jmax, jmin = 2,2
#print(A)

for h in range(0,K):
    if A[h] <= A[h+1]:
        print(-1)
        sys.exit()

if A[0] != 2:
    print(-1)
    sys.exit()



for i in range(0,K-1):  # 0<=i<=K-2 A[K-2]は2ラウンドの組．Kラウンドから2ラウンドまで
    drop_num = []
    for j in range(0,A[i]):  #脱落者数の候補を入れていく
        if ( jmax + j ) % A[i+1] == 0:
            drop_num.append(j)
        if ( jmin + j ) % A[i+1] == 0:
            drop_num.append(j)
    if drop_num == []:  #A[i]について一通り調べたのち脱落者数の候補がなければ終わる
        print(-1)
        sys.exit()
    max_drop = max(drop_num)
    jmax = jmax + max_drop
    min_drop = min(drop_num)
    jmin = jmin + min_drop


jmax = jmax + A[K-1] -1

print(jmin, jmax)


### FIXED CODE ###

from math import floor,ceil
K = int(input())
A = [int(x) for x in input().split()]
A.reverse()
jmax, jmin = 2,2

for i in range(0,K):
    mmax,mmin = jmax,jmin
    if mmin % A[i] != 0:
        if (mmin + (A[i] - (mmin % A[i]))) > mmax:
            print(-1)
            exit()

    jmin = ceil(jmin / A[i]) * A[i]
    jmax = floor(jmax / A[i]) * A[i] + A[i] -1

print(jmin, jmax)

#計算量はO(3K)すなわちO(K)
A,B,K = map(int,input().split())
tmp = list(range(A,B+1))
if K > len(tmp):
    K = len(tmp)
small = tmp[:K]
big = tmp[-K:]
tmp = sorted(list(set(small + big)))
for i in tmp:
    print(i)

### FIXED CODE ###

A,B,K = map(int,input().split())
if A == B:
    print(A)
else:
    if K > B - A:
        K = B - A
    tmp1 = list(range(A,A+K))
    tmp2 = list(range(B-K+1,B+1))
    ans = sorted(list(set(tmp1 + tmp2)))
    for i in ans:
        print(i)
s = input()
A = int(s[0])
B = int(s[1])
C = int(s[2])
D = int(s[3])

flag = [0]*3
tmp = 0
for i in range(8):
  flag[0]=(i>>2)&1
  flag[1]=(i>>1)&1
  flag[2]=(i)&1
  
  tmp = A +(-1)**flag[0]*B +(-1)**flag[0]*C +(-1)**flag[0]*D
  if tmp==7:
    ans=s[0]
    for j in range(3):
      if flag[i]:
        ans+="-"+s[i+1]
      else:
        ans+="+"+s[i+1]
    ans+="=7"
    print(ans)
    break

### FIXED CODE ###

s = input()
A = int(s[0])
B = int(s[1])
C = int(s[2])
D = int(s[3])

flag = [0]*3
tmp = 0
for i in range(8):
  flag[0]=(i>>2)&1
  flag[1]=(i>>1)&1
  flag[2]=(i)&1
  
  tmp = A +(-1)**flag[0]*B +(-1)**flag[1]*C +(-1)**flag[2]*D
  if tmp==7:
    ans=s[0]
    for j in range(3):
      if flag[j]:
        ans+="-"+s[j+1]
      else:
        ans+="+"+s[j+1]
    ans+="=7"
    print(ans)
    break
N = int(input()) #5
K = int(input()) #3
X = int(input())
Y = int(input())

total = 0
for a in range(1, N+1): #6 , 1, 2, 3, 4, 5
	if a < K:
      total += X
    else:
      total += Y

print(total)


### FIXED CODE ###

N = int(input()) #5
K = int(input()) #3
X = int(input())
Y = int(input())

total = 0
for a in range(1, N+1): #6 , 1, 2, 3, 4, 5
    if a <= K:
        total += X
    else:
        total += Y

print(total)
N = int(input())
A = list(map(int, input().split()))
 
ans = 0
minN = 0
maxN = N-1
flag = [1]*N
    
for i in range(N):
    maxpr = 0
    maxj = 0
    flagj = 0
    for j in range(N):
        if flag[j]:
            if maxN - j >= j - minN and A[j]*(maxN - j) > maxpr:
                maxpr = A[j]*(maxN - i)
                maxj = j
                flagj = 1
            elif  maxN - j <= j - minN and A[j]*(j - minN) > maxpr:
                maxpr = A[j]*(j - minN)
                maxj = j
                flagj = 0
    
    flag[maxj] = 0
    if flagj:
        maxN -= 1
    else:
        minN += 1
    ans += maxpr
    
print(ans)

### FIXED CODE ###

import math
K = int(input())

print(2*math.pi*K)
list = list(s)
count=0
b=0

for i in range(len(list)):
  if(list[i] == "W"):
    count+=b
    continue
  else:
    if(i == len(list)-1):
      break
    b += 1
      
print(count)

### FIXED CODE ###

s = input()
list = list(s)
count=0
b=0

for i in range(len(list)):
  if(list[i] == "W"):
    count+=b
    continue
  else:
    if(i == len(list)-1):
      break
    b += 1
      
print(count)
#coding:utf-8
n, d = map(int, input().split())

flag = [0] * n
people = 1

#端を埋める
for i in range(0,2*d):
    flag[i] = 1

#print(flag)
#print(sum(flag))

if sum(flag) < n:
    for i in range(n-2*d-1, n):
        flag[i] = 1
    people += 1


#print(flag)

for i in range(2*d, n-2*d):
    if flag[i] == 0:
        people += 1
        #print(i)
        for j in range(i, i+d+1):
            if j > n-d:
                break 
            else:
                flag[j] = 1
        #print(flag)


#print(flag)
print(people)


### FIXED CODE ###

#coding:utf-8
n, d = map(int, input().split())

#監視員は2D+1本の木を監視する
#最小の監視員はN/2D+1 の切り上げ
print(-(-n // (2*d + 1)))
n, a, b = map(int, input().split())

mmod = 10**9 + 7


def comb_mod(n, r, mod=mmod):
    nume = 1
    deno = 1

    r = min(r, r - 1)

    for i in range(1, r + 1):
        nume = (nume * (n - i)) % mod
        deno = (deno * (i + 1)) % mod

    return (nume * pow(deno, mod - 2, mod)) % mod


if n == 2:
    print(0)
    exit

total = (pow(2, n, mmod) - comb_mod(n, a) - comb_mod(n, b) - 1) % mmod

print(total)


### FIXED CODE ###

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

if N >= 10:
    rate = R
else:
    rate = R + (100 * (10 - N))

print(rate)
A, B = input.split()
a = int(A)
b = round(float(B) * 100)
c = a * b // 100
print(c)


### FIXED CODE ###

A, B = input().split()
a = int(A)
b = round(float(B) * 100)
c = a * b // 100
print(c)
class UnionFind():
    def __init__(self,size):
        self.table = [-1 for i  in range(size)]
    def find(self,x):
        if(self.table[x]<0):
            return x
        else :
            self.table[x]=self.find(self.table[x])
            return self.table[x]

    def union(self,x,y):
        s1 = self.find(x)        
        s2 = self.find(y)
        if s1 != s2:
            self.table[s2]=s1
        return


N,M=map(int,input().split())
uf=UnionFind(N+1)
for i in range(M):
    a,b=map(int,input().split())
    uf.union(a,b)

if(1==uf.find(N)):
    print("POSSIBLE")
else:
    print("IMPOSSIBLE")

### FIXED CODE ###

s=set()
N,M=map(int,input().split())
for i in range(M):
    a,b=map(int,input().split())
    s.add((a,b))

for i in range(N):
    if((1,i)in s and (i,N) in s):
        print("POSSIBLE")
        exit()
    
print("IMPOSSIBLE")
s = input()
if s == 'Sunny':
    result = 'Cloudy'
elif s == 'Cloudy':
    result = 'Rainy':
else:
    result = 'Sunny'

print(result)


### FIXED CODE ###

s = input()
if s == 'Sunny':
    result = 'Cloudy'
elif s == 'Cloudy':
    result = 'Rainy'
else:
    result = 'Sunny'

print(result)
n = int(input())

ans = 0
for i in range(1, int(n ** 0.5) + 1):
    if n % i == 0 and n // (i - 1) == n % (i - 1):
        ans += i - 1
    m = n // i - 1
    if m > 0 and n % i == 0 and n // m == n % m:
        ans += m
print(ans)


### FIXED CODE ###

n = int(input())

ans = 0
for i in range(1, int(n ** 0.5) + 1):
    m = n // i - 1
    if m > 0 and n % i == 0 and n // m == n % m:
        ans += m
print(ans)
a ,b= map(int,input().split())
aaa = [list(map(int,input().split())) for i in range(b*2)]
 
s = {i+1 for i in range(a)}


if(a == 0):
    print(0)
elif(b == 0):
    print(len(aaa))
else:
    for i in range(1,a+1,2):
        for k in aaa[i]:
            s.discard(k)
    print(len(s))

### FIXED CODE ###

a,b = map(int,input().split())
aaa = [list(map(int,input().split())) for i in range(b*2)]

c = set()
e = set()
for i in range(1,len(aaa),2):
  for k in aaa[i]:
     c.add(k)
    
print(a - len(c))
import bisect
N, M = map(int, input().split())
A = list(map(int, input().split()))

A.sort()
for _ in range(M):
  a = A.pop(-1) // 2
  bisect.insort_left(A, a)

print(sum(A))

### FIXED CODE ###

S = input()

if S == "Sunny":
  print("Cloudy")
elif S == "Cloudy":
  print("Rainy")
else:
  print("Sunny")
a=int(input())
if(a<1200):
  print("ABC")
 elif a<2800:
  print("ARC")
 else:
  print("AGC")
  

### FIXED CODE ###

a=int(input())
if(a<1200):
  print("ABC")
elif a<2800:
  print("ARC")
else:
  print("AGC")
n=int(input())
h=list(map(input().split()))
if len(list(set(h)))==3:
  print("Three")
else:
  print("Four")


### FIXED CODE ###

n=int(input())
h=list(input().split())
if len(list(set(h)))==3:
  print("Three")
else:
  print("Four")
from itertools import groupby
N = int(input())
S = input()
G = groupby(S)
print(len(G))

### FIXED CODE ###

from itertools import groupby
N = int(input())
S = input()
G = groupby(S)
print(len(list(G)))
num = int(input())
l = ['1', '1', '1', '2', '1', '2', '1', '5', '2', '2', '1', '5', '1', '2', '1', '14', '1', '5', '1', '5', '2', '2', '1', '15', '2', '2', '5', '4', '1', '4', '1', '51']
print(l[num])

### FIXED CODE ###

num = int(input())
l = ['1', '1', '1', '2', '1', '2', '1', '5', '2', '2', '1', '5', '1', '2', '1', '14', '1', '5', '1', '5', '2', '2', '1', '15', '2', '2', '5', '4', '1', '4', '1', '51']
print(l[num - 1])
H,W = map(int, input().split())
S = [input() for i in range(H)]

for i in range(H):
  for j in range(W):
    if S[i][j] == "#":
      b = sum([t[j].count("#") for t in S[max(0,i-1):min(H,i+1)]])
      b += S[i][max(0,j-1):min(W,j+1)].count("#")-1
      if b == 1:
        print("No")
        c = 1
        break
  else:
    continue
  break

if c !=1:
  print("Yes")

### FIXED CODE ###

H, W = map(int, input().split())
S = [input() for i in range(H)]

for i in range(H):
  for j in range(W):
    if S[i][j] == "#":
      bk = sum([t[j].count("#") for t in S[max(0,i-1):min(H,i+2)]])
      bk += S[i][max(0,j-1):min(W,j+2)].count("#")-1
      if bk == 1:
        print("No")
        exit()

print("Yes")
N, M = map(int, input().split())
L = [0] * M
R = [0] * M
ID = [0] * N
N = {i for i in range(1, N + 1)}
for i in range(M):
    L[i], R[i] = map(int, input().split())
    ID[i] = {j for j in range(L[i], R[i] + 1)}

for i in range(M):
    N = N & ID[i]

print(len(N))

### FIXED CODE ###

N, M = map(int, input().split())
L = [0] * M
R = [0] * M

for i in range(M):
    L[i], R[i] = map(int, input().split())
LL = max(L)
RR = min(R)
ans = 0
for i in range(N):
    if LL <= i + 1 <= RR:
        ans += 1
    else:
        pass
print(ans)
N = int(input())
A = []
for i in range(N):
    a = input()
    b = a.split(".")
    if len(b)==1:
        A.append(int(a)*(10**9))
    else:
        A.append(int(b[0] + b[1] + (9-len(b[1]))*"0"))

B = [[0]*30 for i in range(30)]
ans1 = 0
for i in range(N):
    a = A[i]
    count1 = 0
    while a%2==0:
        a//=2
        count1+=1
    count2 = 0
    while a%5==0:
        a//=5
        count2+=1
    #print(count1,count2,A[i])
    B[count1][count2] += 1
    if count1>=9 and count2>=9:
        ans1+=1

C = [[0]*31 for i in range(31)]

for i in range(30):
    for j in range(30):
        C[i+1][j+1] = B[i][j] + C[i+1][j] + C[i][j+1] - C[i][j]

#print(*C,sep="\n")
ans = 0
for i in range(30):
    for j in range(30):
        k,l = min(18,i),min(18,j)
        #if B[i][j]>0:
        #    print(B[i][j],C[21][21] + C[18-k][18-l] - C[21][18-l] - C[18-k][21],i,j)
        ans += B[i][j] * (C[21][21] + C[18-k][18-l] - C[21][18-l] - C[18-k][21])

print((ans-ans1)//2)


### FIXED CODE ###

N = int(input())
A = []
for i in range(N):
    a = input()
    b = a.split(".")
    if len(b)==1:
        A.append(int(a)*(10**9))
    else:
        A.append(int(b[0] + b[1] + (9-len(b[1]))*"0"))

B = [[0]*50 for i in range(50)]
ans1 = 0
for i in range(N):
    a = A[i]
    count1 = 0
    while a%2==0:
        a//=2
        count1+=1
    count2 = 0
    while a%5==0:
        a//=5
        count2+=1
    #print(count1,count2,A[i])
    B[count1][count2] += 1
    if count1>=9 and count2>=9:
        ans1+=1

C = [[0]*51 for i in range(51)]

for i in range(50):
    for j in range(50):
        C[i+1][j+1] = B[i][j] + C[i+1][j] + C[i][j+1] - C[i][j]

#print(*C,sep="\n")
ans = 0
for i in range(50):
    for j in range(50):
        k,l = min(18,i),min(18,j)
        #if B[i][j]>0:
        #    print(B[i][j],C[21][21] + C[18-k][18-l] - C[21][18-l] - C[18-k][21],i,j)
        ans += B[i][j] * (C[50][50] + C[18-k][18-l] - C[50][18-l] - C[18-k][50])

print((ans-ans1)//2)
N=input()
for idx in len(N):
  if N[idx] == 7:
    print('Yes')
    break
else:
  print('No')

### FIXED CODE ###

N=input()
for idx in range(len(N)):
  if N[idx] == str(7):
    print('Yes')
    break
else:
  print('No')
N = int(input())
list_P = [int(x) for x in input().split()]

ans = 1

for i in range(1, len(list_P)) :
    if list_P[i] == min(list_P[:i]+1) :
        ans += 1

print(ans)


### FIXED CODE ###

N = int(input())
list_P = [int(x) for x in input().split()]

ans = 0
min = N+1

for i in list_P :
    if i < min :
        ans += 1
        min = i

print(ans)
import sys

def simplefindset(x,element,resultPos=0):
    if(x != element[x]):
        resultPos = simplefindset(element[x],element,resultPos)
    else:
        resultPos = x
    return resultPos

def findset(x,element,weight,resultPos=0,sumW=0):
    if(x != element[x]):
        resultPos,sumW = findset(element[x],element,weight,resultPos,sumW)
    else:
        resultPos = x
    sumW += weight[x]
    return resultPos,sumW

def union(x,y,element,weight,w):
    x,wx = findset(x,element,weight)
    y,wy = findset(y,element,weight)
    link(x,wx,y,wy,w,element)
def link(x,wx,y,wy,z,element):
    z = z+wy-wx

    element[x] = y
    weight[x] = z

n,q = map(int, input().split());

element = [i for i in range(n)]
weight = [0 for i in range(n)]

for i in range(q):
    inp = map(int, input().split());
    inp = list(inp)    
    if(inp[0] == 0):
        x,y,w = inp[1],inp[2],inp[3]
        union(x,y,element,weight,w)
    else:
        x,y = inp[1],inp[2]
        if(simplefindset(x,element) == simplefindset(y,element)):
            x,wx = findset(x,element,weight)
            y,wy = findset(y,element,weight)
            print(wx-wy)
        else:
            print('?')


### FIXED CODE ###

import sys
sys.setrecursionlimit(50000)

def findset(x,element,weight):
    if(x != element[x]):
        element[x],s = findset(element[x],element,weight)
        weight[x] += s
    return element[x],weight[x]

def union(x,y,element,weight,w):
    x,wx = findset(x,element,weight)
    y,wy = findset(y,element,weight)
    link(x,y,w+wy-wx,element,weight)

def link(x,y,z,element,weight):

    element[x] = y
    weight[x] = z

n,q = map(int, input().split());

element = [i for i in range(n)]
weight = [0 for i in range(n)]

for i in range(q):
    inp = map(int, input().split());
    inp = list(inp)    
    if(inp[0] == 0):
        x,y,w = inp[1],inp[2],inp[3]
        union(x,y,element,weight,w)
    else:
        x,y = inp[1],inp[2]
        x,wx = findset(x,element,weight)
        y,wy = findset(y,element,weight)
        if(x == y):
            print(wx-wy)
        else:
            print('?')
n,q = map(int,input().split())
s = list(input())
p = []
for i in range(q):
    t,d = map(str,input().split())
    p.append([t,d])

res = 0
cnt = 0
end = True
bef = ''
judge = s[0]
for i in range(q-1,-1,-1):
    if p[i][0] == bef and p[i][1] == 'R':
        end = False
        judge = bef
        cnt -= 1
        if cnt == 0:
            bef = ''
        else:
            bef = s[cnt-1]
    elif p[i][0] == judge and p[i][1] == 'L':
        if cnt+1>=res:
            end = True
        res = max(cnt+1,res)
        cnt += 1
        if res == n:
            break
        while judge==s[cnt] and cnt <= n-1:
            cnt += 1
            res += 1
        bef = judge
        judge = s[cnt]
if not end:
    res -= 1
res = max(0,res)

bef = ''
cnt = 0
end = True
res2 = 0
judge = s[n-1]
for i in range(q-1,-1,-1):
    if p[i][0] == bef and p[i][1] == 'L':
        end = False
        judge = bef
        cnt -= 1
        if cnt == 0:
            bef = ''
        else:
            bef = s[n-1-cnt+1]
    elif p[i][0] == judge and p[i][1] == 'R':
        if cnt+1 >= res2:
            end = True
        res2 = max(cnt+1,res2)
        cnt += 1
        if res2 == n:
            break
        while judge == s[n-1-cnt] and cnt <= n-1:
            res2 += 1
            cnt += 1
        bef = judge
        judge = s[max(0,n-1-cnt)]
if not end:
    res2 -= 1
res2 = max(0,res2)

print(max(min(n,n-res-res2),0))


### FIXED CODE ###

n,q = map(int,input().split())
s = list(input())
p = [tuple(map(str,input().split())) for i in range(q)]

#s[x]が左へ抜けるか O(q)
def judge_left(x):
    for i in range(q):
        if p[i][0] == s[x]:
            if p[i][1] == 'L':
                x -= 1
            else:
                x += 1
        if x == -1:
            return True
        if x == n:
            return False
    return False

#s[x]が右へ抜けるか O(q)
def judge_right(x):
    for i in range(q):
        if p[i][0] == s[x]:
            if p[i][1] == 'L':
                x -= 1
            else:
                x += 1
        if x == -1:
            return False
        if x == n:
            return True
    return False

#どこまで左で抜けるか
ok = -1
ng = n
while ng-ok > 1:
    mid = (ng+ok)//2
    if judge_left(mid):
        ok = mid
    else:
        ng = mid
left = ok+1

#どこまで右で抜けるか
ok = n
ng = -1
while ok-ng >1:
    mid = (ok+ng)//2
    if judge_right(mid):
        ok = mid
    else:
        ng = mid
right = n-ok

print(max(n-left-right,0))
def resolve():
    '''
    code here
    '''
    N = int(input())

    def get_sieved_list(x):
        dp = [1 if item % 2 == 0 else 0 for item in range(x+1)]
        dp[:3] = [2,1,1]

        for prim_candi in range(3, x+1):
            temp_num = prim_candi
            while temp_num <= x:
                dp[temp_num] += 1
                temp_num += prim_candi
            if prim_candi >= x:
                return [i  for i in range(x+1) if dp[i] == 1]
                
    factor_filter = set(get_sieved_list(N))

    prime_list = [0 for _ in range(N+1)]
    for i in factor_filter:
        if i >1:
            for j in range(2, N+1):
                while j >= 1 and j % i == 0:
                    j //= i
                    prime_list[i] += 1

    res = 1
    for item in prime_list:
        res *= (item+1)
        res %= (10**9+7)


    print(res%(10**9+7))

if __name__ == "__main__":
    resolve()


### FIXED CODE ###

def resolve():
    '''
    code here
    '''
    N = int(input())

    def get_sieved_list(x):
        dp = [1 if item % 2 == 0 else 0 for item in range(x+1)]
        dp[:3] = [2,1,1]

        for prim_candi in range(3, x+1):
            temp_num = prim_candi
            while temp_num <= x:
                dp[temp_num] += 1
                temp_num += prim_candi
            if prim_candi >= x:
                return [i  for i in range(x+1) if dp[i] == 1]
                
    
    if N > 2:
        factor_filter = set(get_sieved_list(N))
        prime_list = [0 for _ in range(N+1)]
        for i in factor_filter:
            if i >1:
                for j in range(2, N+1):
                    while j >= 1 and j % i == 0:
                        j //= i
                        prime_list[i] += 1

        res = 1
        for item in prime_list:
            res *= (item+1)
            res %= (10**9+7)
    else:
        res = N

    print(res%(10**9+7))

if __name__ == "__main__":
    resolve()
n = int(input())
if (int)n/100==n%10:
    print("Yes")
else:
    print("No")

### FIXED CODE ###

n = input()
if n[0]==n[2]:
    print("Yes")
else:
    print("No")
d,e=[list(map(int,input().split()))for _ in range(2)]
m={0:'1234',1:'5230',2:'1504',3:'1054',4:'0245',5:'1324'}[d.index(e[0])]
f=[str(e[i])for i in range(1,5)]+[str(e[1])]
f[2],f[3]=f[3],f[2]
g=[str(d[int(i)])for i in m]
g[2],g[3]=g[3],g[2]
g=list(''.join(g)*2)
for i in range(4):
 if g[g.index(f[i])+1]!=f[i+1]:print('No');break
 else:
  if i==3:print('Yes')

### FIXED CODE ###

d,e=[input().split()for _ in'12'];e[3:5]=e[4],e[3]
t=0
for p in('012345','152304','215043','310542','402351','513240'):
 f=[d[int(j)]for j in p];f[3:5]=f[4:2:-1]
 if f[0]==e[0]:
  f=f[1:5]*2
  for j in range(4):
   if f[j:j+4]==e[1:5]:t=1
print(('No','Yes')[t])
n,m = map(int,input().split())

x=0

for i in range(m//n):
	if m%(i+1)==0 and m//(i+1)>n-1:
		x=max(x,i+1)
print(x)




### FIXED CODE ###

n = int(input())

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