Harryxun/stf_run huggingface dataset:
list = input().split()
list = sort(list)
print(list[0] + list[1])

### FIXED CODE ###

list = input().split()
list.sort()
print(int(list[0]) + int(list[1]))
n = int(input())
a  = [int(i)-1 for i in input().split()]
b = [int(i) for i in input().split()]
c = [int(i) for i in input().split()]
#ここまで入力
manzoku = 0
for i in range(n):
    if a[i] ==n:
        manzoku += b[a[i]]
    elif i == n-1:
        manzoku += b[a[i]]
    else:
        manzoku += (b[a[i]]+c[a[i]])
print(manzoku)

### FIXED CODE ###

n = int(input())
a = [int(i)-1 for i in input().split()]
b = [int(i) for i in input().split()]
c = [int(i) for i in input().split()]
#ここまで入力
manzoku = 0
for i in range(n):
    manzoku += b[a[i]]
    if i ==0:
        continue
    if a[i] == a[i-1]+1:
        manzoku += c[a[i]-1]
print(manzoku)
s = input()
answer = 0
for i in range(2**(len(s)-1)):
    f = s[0]
    for j,b in enumerate(str(format(i,'b').zfill(len(s)-1))):
        if b == '1':
           f += ','
        f += s[j+1]
    answer += sum(int(i) for i in f.split(','))
print(answer)


### FIXED CODE ###

s = input()
answer = 0

if len(s) == 1:
    print(s)
else:
    for i in range(2**(len(s)-1)):
        f = s[0]
        for j,b in enumerate(str(format(i,'b').zfill(len(s)-1))):
            if b == '1':
               f += ','
            f += s[j+1]
        answer += sum(int(i) for i in f.split(','))
    print(answer)
s=input()
q=int(input())
h=0
m=''
u=''
for _  in range(q):
  d=input()
  if '2' in d:
    a,b,c=map(str,d.split())
    if b=='1':
      if h%2==0:
        u+=c
      else:
        m+=c
        
    else:
      if h%2==0:
        m+=c
      else:
        u+=c
        
  else:
    h+=1
    
M=list(m)
G=list(reversed(M))
s=G+s+u
if h%2==0:
  print(s)
else:
  f=list(s)
  g=list(reversed(f))
  print(''.join(g))

### FIXED CODE ###

s=input()
q=int(input())
h=0
m=''
u=''
for _  in range(q):
  d=input()
  if '2' in d:
    a,b,c=map(str,d.split())
    if b=='1':
      if h%2==0:
        m+=c
      else:
        u+=c
        
    else:
      if h%2==0:
        u+=c
      else:
        m+=c
        
  else:
    h+=1
    
M=list(m)
G=list(reversed(M))
GG=''.join(G)
s=GG+s+u
if h%2==0:
  print(s)
else:
  f=list(s)
  g=list(reversed(f))
  print(''.join(g))
from collections import defaultdict

class Tree:
  def __init__(self):
    self.edges = defaultdict(set)
  
  def add(self, x, y, w):
    self.edges[x].add((y, w))
    self.edges[y].add((x, w))
  
  def traverse(self, start):
    return self._traverse(start, 0, set([start]), [])
  
  def _traverse(self, start, dist, already_visited, result):
    out_nodes = self.edges[start]
    for out_node, w in out_nodes:
      if out_node in already_visited:
        continue
      new_dist = dist + w
      result.append((out_node, new_dist))
      self._traverse(out_node, new_dist, already_visited | set([out_node]), result)
    return result
      
n = int(input())
tree = Tree()
for _ in range(n-1):
  xyw = list(map(int, input().split()))
  tree.add(*xyw)

print """
node_dists = list(tree.traverse(1))
node_dists.append((1, 0))
node_dists = sorted(node_dists, key=lambda x: x[0])

for node, dist in node_dists:
  print(1 if dist % 2 == 0 else 0)
"""

### FIXED CODE ###

#!/usr/bin/env python
import bisect
from collections import defaultdict
import math

def main():
    #N = map(int, input().split())
    N = int(input())

    edges = defaultdict(list)
    for _ in range(N-1):
        u, v, w = map(int, input().split())
        edges[u-1].append((v-1, w))
        edges[v-1].append((u-1, w))

    colors = [None]*N
    colors[0] = 0
    colored = [(0, 0)]
    while colored:
        new_colored = []
        for n, d in colored:
            nodes = edges[n]
            for m, w in nodes:
                if colors[m] is None:
                    dist = d + w
                    if dist % 2 == 0:
                        colors[m] = 0
                    else:
                        colors[m] = 1
                    new_colored.append((m, dist))
        colored = new_colored

    for n in range(N):
        print(colors[n])

if __name__ == '__main__':
    main()
from fractions import gcd
a,b=map(int,input().split())
c=gcd(a,b)
if c==1:
  print(1)
  exit()
D=[]
P=[]
def E(c):
    P=[]
    E=[i+1 for i in range(1,int(c**0.5)+1)]
    while True:
        p=E[0]
        if int(c**0.5)+1<=p:
            return P+E
        P.append(p)
        E=[e for e in E if e%p!=0]
P=E(c)
f=True
for p in P:
  if c%p==0:
    f=False
    break
if f:
  print(2)
  exit()
for i in range(2, int(-(-gcd(a,b)**0.5//1))+1):
  if c%i==0:
    D.append(i)
    while c%i==0:
      c//=i
  if c==1:
    break
print(len(D)+1)

### FIXED CODE ###

from fractions import gcd
a,b=map(int,input().split())
c=gcd(a,b)
d=1
for i in range(2, int(-(-gcd(a,b)**0.5//1))+1):
  if c%i==0:
    d+=1
    while c%i==0:
      c//=i
  if c==1:
    break
if c!=1:
  d+=1
print(d)
n,x,t=map(int,input().split())
r=math.ceil(n/x)*t
print(r)

### FIXED CODE ###

import math
n,x,t=map(int,input().split())
r=math.ceil(n/x)*t
print(r)
N=int(input())
a=[int(i)//400 for i in input().split()]
s=set()
r=0
for i in range(N):
    if a[i]==7:
        r+=1
    else:
        s.add(a[i])
print("{0} {1}".format(min([1,len(s)]),len(s)+r)

### FIXED CODE ###

N=int(input())
a=[int(i)//400 for i in input().split()]
s=set()
r=0
for i in range(N):
    if a[i]>=8:
        r+=1
    else:
        s.add(a[i])
print("{0} {1}".format(max([1,len(s)]),len(s)+r))
from fractions import gcd
from functools import reduce
import copy

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

fValueList = []
lValueList = []
maxList = []

if n == 2:
  print(gcd(a[0], a[1]))
else:
  fValueList.append(a[0])
  lValueList.append(a[n-1])
  for i in range(1,n-1):
    g = fValueList[i-1]
    fValueList.append(gcd(g, a[i]))

  for i in range(1,n-1):
    g = lValueList[i-1]
    lValueList.append(gcd(g, a[n-i]))
  
  maxList.append(fValueList[n-2])
  maxList.append(lValueList[n-2])
for k in range(n-2):
    g = gcd(lValueList[k], lValueList[n-3-k])
  maxList.append(g)
    
print(max(maxList))



### FIXED CODE ###

from fractions import gcd
from functools import reduce
import copy

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

fValueList = []
lValueList = []
maxList = []

if n == 2:
  print(max(a[0], a[1]))
else:
  fValueList.append(a[0])
  lValueList.append(a[n-1])
  for i in range(1,n-1):
    g = fValueList[i-1]
    fValueList.append(gcd(g, a[i]))

  for i in range(1,n-1):
    g = lValueList[i-1]
    lValueList.append(gcd(g, a[n-1-i]))
  
  maxList.append(fValueList[n-2])
  maxList.append(lValueList[n-2])
  for k in range(n-2):
    g = gcd(fValueList[k], lValueList[n-3-k])
    maxList.append(g)
    
  print(max(maxList))
n,a,b=map(int,input().split())
count=int(n/(a+b))*a
n=n%(a+b)
if(n<=b):
    count=count+n
else:
    count=count+b
print(count)

### FIXED CODE ###

import math

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

emin=math.ceil(a/0.08)
emax=math.ceil((a+1)/0.08)-1
tmin=math.ceil(b/0.1)
tmax=math.ceil((b+1)/0.1)-1

if tmin<=emin<=tmax:
    print(emin)
elif emin<=tmin<=emax:
    print(tmin)
else:
    print(-1)
from collections import defaultdict

def diverta192_b():
    N = int(input())
    P = [tuple(map(int, input().split())) for _ in range(N)]
    dcnt = defaultdict(int)
    for i in range(N):
        xi, yi = P[i]
        for j in range(i):
            xj, yj = P[j]
            if xi > xj: dx, dy = xi-xj, yi-yj
            else: dx, dy = xj-xi, yj-yi
            dcnt[(dx,dy)] += 1
    most = sorted(dcnt.values(), reverse=True)[0]
    ans = N - most
    print(ans)

diverta192_b()

### FIXED CODE ###

from collections import defaultdict

def diverta192_b():
    N = int(input())
    P = [tuple(map(int, input().split())) for _ in range(N)]
    if len(P) == 1:
        print(1)
        return
    dcnt = defaultdict(int)
    for i in range(N):
        xi, yi = P[i]
        for j in range(i):
            xj, yj = P[j]
            dx1, dy1 = xi-xj, yi-yj
            dx2, dy2 = xj-xi, yj-yi
            dcnt[(dx1,dy1)] += 1
            dcnt[(dx2,dy2)] += 1
    most = sorted(dcnt.values(), reverse=True)[0]
    ans = N - most
    print(ans)

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

def iseven(i,num_list):
  count = 0
  for num in num_list:
    if num % 2 != 0:
      return False
  return True

num_divided = 0

while iseven(n,a) :
  a = list(map(lambda x: x / 2, a ))
  num_divided += 1

print(num_divided)

### FIXED CODE ###

s = input()

s1,s2,s3 = s[0:1],s[1:2],s[2:3]

i= 0 

if int(s1) == 1:
  i += 1
if int(s2) == 1:
  i += 1
if int(s3) == 1:
  i += 1
  
print(i)
import sys
input = sys.stdin.readline

h, w = (int(i) for i in input().split())
a = [input() for i in range(h)]

class UnionFind():
    def __init__(self, N):
        self.par = [i for i in range(N)]
        self.size = [1] * N
        self.N = N

    # xのrootを返す
    def root(self, x):
        if self.par[x] == x:
            return x
        else: 
            self.par[x] = self.root(self.par[x])
            return self.par[x]

    # x, yが同じrootの場合true
    def same(self, x, y):
        rx = self.root(x)
        ry = self.root(y)
        return rx == ry

    # x,yのrootが違った場合、併合
    def unite(self, x, y):
        rx = self.root(x)
        ry = self.root(y)
        if self.size[rx] < self.size[ry]:
            self.par[rx] = ry
            self.size[ry] += self.size[rx]
        else:
            self.par[ry] = rx
            self.size[rx] += self.size[ry]
            
uf = UnionFind(h*w)

for j in range(h):
    for i in range(w):
        if i != w-1 and a[j][i+1] != a[j][i]:
            uf.unite(w*j+i,w*j+i+1)
        if j != h-1 and a[j+1][i] != a[j][i]:
            uf.unite(w*j+i,w*(j+1)+i)

for v in range(h*w):
    uf.root(v)

wc = [0]*(h*w)
bc = [0]*(h*w)
for j in range(h):
    for i in range(w):
        idx = w*j+i
        if a[j][i] == ".":
            wc[idx] += 1
        else:
            bc[idx] += 1

res = 0
for i in range(len(l_idx)):
    res += wc[i] * bc[i]
print(res)

### FIXED CODE ###

import sys
input = sys.stdin.readline

h, w = (int(i) for i in input().split())
a = [input() for i in range(h)]

class UnionFind():
    def __init__(self, N):
        self.par = [i for i in range(N)]
        self.size = [1] * N
        self.N = N

    # xのrootを返す
    def root(self, x):
        if self.par[x] == x:
            return x
        else: 
            self.par[x] = self.root(self.par[x])
            return self.par[x]

    # x, yが同じrootの場合true
    def same(self, x, y):
        rx = self.root(x)
        ry = self.root(y)
        return rx == ry

    # x,yのrootが違った場合、併合
    def unite(self, x, y):
        rx = self.root(x)
        ry = self.root(y)
        if self.size[rx] < self.size[ry]:
            self.par[rx] = ry
            self.size[ry] += self.size[rx]
        else:
            self.par[ry] = rx
            self.size[rx] += self.size[ry]
            
uf = UnionFind(h*w)

for j in range(h):
    for i in range(w):
        if i != w-1 and a[j][i+1] != a[j][i]:
            uf.unite(w*j+i,w*j+i+1)
        if j != h-1 and a[j+1][i] != a[j][i]:
            uf.unite(w*j+i,w*(j+1)+i)

for v in range(h*w):
    uf.root(v)

wc = [0]*(h*w)
bc = [0]*(h*w)
for j in range(h):
    for i in range(w):
        idx = w*j+i
        if a[j][i] == ".":
            wc[uf.par[idx]] += 1
        else:
            bc[uf.par[idx]] += 1

res = 0
for i in range(h*w):
    res += wc[i] * bc[i]
print(res)
print('Christmas' + ' Eve' * (int(input()) - D))


### FIXED CODE ###

print('Christmas' + ' Eve' * (25 - int(input())))
import sys
input = sys.stdin.readline

N = int(input())
A = [0] + list(map(int, input().split()))
B = [0] * (N+1)aimport sys
input = sys.stdin.readline

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

ans = []
for i in list(range(N, 0, -1)):
    sum = 0
    for j in list(range(2 * i, N, i)):
        sum ^= B[j]
    B[i] = sum ^ A[i]
    if B[i]:
        ans.append(str(i))

print(len(ans))
if ans:
    print(' '.join(ans))


ans = []
for i in range(N, 0, -1):
    sum = 0
    for j in range(2 * i, N, i):
        sum ^= B[j]
    B[i] = sum ^ A[i]
    if B[i]:
        ans.append(str(i))
        
print(len(ans))
if ans:
    print(' '.join(ans))


### FIXED CODE ###

import sys
input = sys.stdin.readline

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

ans = []
for i in range(N, 0, -1):
    sum = 0
    for j in range(2 * i, N+1, i):
        sum ^= B[j]
    B[i] = sum ^ A[i]
    if B[i]:
        ans.append(str(i))

print(len(ans))
if ans:
    print(' '.join(ans))
N = int(input())

X = list(map(int, input().split()))
ans = 10**18
for i in range(1, 101):
    temp=0
    for num in X:
        temp + =(i-num)**2
    ans = min(ans, tmp)
print(ans)

### FIXED CODE ###

n=int(input())
arr=list(map(int,input().split()))
ans=10**18 #最小値を求めるので初期化しておく
for i in range(1,101): #1<=P<=100の範囲について消費する体力の総和を計算
 tmp=0
 for num in arr:
   tmp+=(i-num)**2
 ans=min(ans,tmp) #消費する体力の総和の最小値が答えとなる
print(ans)
N,K = map(int,input().split())
a = list(map(int,input().split()))

dp1 = [[False]*K for _ in range(N)]
dp2 = [[False]*K for _ in range(N)]
# dp[x][y] x枚目まで使った時にyに出来るか
# K-ai <= ai < K となる部分集合を探す

dp1[0][a[0]] = True
dp1[0][0] = True
for i in range(1,N):
    for j in range(K):
        dp1[i][j] = dp1[i-1][j] or (j-a[i] >= 0 and dp1[i-1][j-a[i]])

dp2[0][a[N-1]] = True
dp2[0][0] = True
for i in range(1,N):
    for j in range(K):
        dp2[i][j] = dp2[i-1][j] or (j-a[N-i-1] >= 0 and dp2[i-1][j-a[N-i-1]])
count = 0
for i in range(N):
    if K-a[i] <= 0:
        count += 1
        continue
    for j in range(K-a[i],K):
        f = False
        if i == 0:
            if dp2[N-2][j]:
                count += 1
                break
            else:
                continue
        elif i == N-1:
            if dp1[N-2][j]:
                count += 1
                break
            else:
                continue
        for k in range(j+1):
            if dp1[i-1][k] and dp2[N-i-2][j-k]:
                count += 1
                f = True
                break
        if f:
            break
print(N-count)


### FIXED CODE ###

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

count = N
s = 0
for i in range(N-1,-1,-1):
    if s + a[i] < K:
        s += a[i]
    else:
        count = min(i,count)
print(count)
import sys
if __name__ == '__main__':
    N,x = list(map(int,input().split()))
    if 1 < x < 2*N - 1:
        print('Yes')
        L = [i+1 for i in range(2*N - 1)]
        ANS = [-1 for i in range(2*N - 1)]
        if N != 2:
            subset = []
            if x == 2:
                subset = [x+1,x,x-1,x+2]
            else:
                subset = [x-1,x,x+2,x-2]
            for i in subset:
                L.remove(i)
            ANS[N-2:N+2] = subset
            for i in range(2*N-1):
                if ANS[i] == -1:
                    ANS[i] = L.pop()
        else:
            ANS = [1,2,3]
        for i in ANS:
            print(i)
    else:
        print('No')

### FIXED CODE ###

import sys
if __name__ == '__main__':
    N,x = list(map(int,input().split()))
    if 1 < x < 2*N - 1:
        print('Yes')
        for i in range(2*N - 1):
            print(1+ ((x-N+i)%(2*N - 1)))
    else:
        print('No')
import numpy as np

n,m = map(int,input().split())
h = list(map(int,input().split()))

data = np.zeros((n,n))

for i in range(m):
    a,b = map(int,input().split())
    data[a-1,b-1],data[b-1,a-1] = 1,1

#print(data)
ans = 0
for i in range(n):
    ca = 1
    for k,j in enumerate(data[i]):
        if j == 1:
            if h[i]<=h[k]:
                ca = 0
                break
    ans += ca

print(ans)


### FIXED CODE ###

n,m = map(int,input().split())
h = list(map(int,input().split()))

data = [0]*n
#print(h)
#print(data)
for i in range(m):
    a,b = map(int,input().split())
    k = max(data[a-1],h[b-1])
    l = max(h[a-1],data[b-1])
    data[a-1],data[b-1] =k,l

ans = 0

#print(data)
for i in range(n):
    if h[i] > data[i]:
        ans += 1

print(ans)
n=int(input())
l=list(map(int,input().split()))
import collections
c = collections.Counter(l)
ans1=[]
ans2=[]
for x in c.keys():
  if c[x]>1:
    ans1.append(x)
  if c[x]>3:
    ans2.append(x)
ans1.sort()
if len(ans1)<2:
  print(0)
else:
  print(max(ans1[-1]*ans1[-2],max(ans2)**2))

### FIXED CODE ###

n=int(input())
l=list(map(int,input().split()))
import collections
c = collections.Counter(l)
ans1=[]
ans2=[0]
for x in c.keys():
  if c[x]>1:
    ans1.append(x)
  if c[x]>3:
    ans2.append(x)
ans1.sort()
if len(ans1)<2:
  print(0)
else:
  print(max(ans1[-1]*ans1[-2],max(ans2)**2))
n,a,b=[int(x) for x in input().split()]
ans=0
for i in range(n-1):
    ans+=max(a*(x[i+1]-x[i]),b)
print(ans)

### FIXED CODE ###

n,a,b=[int(x) for x in input().split()]
x=[int(x) for x in input().split()]
ans=0
for i in range(n-1):
    ans+=min(a*(x[i+1]-x[i]),b)
print(ans)
N, M = map(int, input().split())

P = {}

for i in range(1, N + 1):
    P[i] = []

for _ in range(M):
    a, b = map(int, input().split())
    P[b].append(a)
    P[a].append(b)

ans = [0] * (N + 1)
ans[1] = 1

def search(numbers):
    next_numers = []
    for number in numbers:
        for x in P[number]:
            if ans[x] == 0:
                ans[x] = number
                next_numers.append(x)
    if next_numers:
        search(next_numers)


search([1])

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

### FIXED CODE ###

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

A = []
B = []

for _ in range(M):
    a, b = map(int, input().split())
    A.append(a)
    B.append(b)

P = [[] for _ in range(N + 1)]

for a, b in zip(A, B):
    P[b].append(a)
    P[a].append(b)

ans = [0] * (N + 1)
ans[1] = 1
next_numbers = [1]

while next_numbers:
    check_number = next_numbers[:]
    next_numbers = []
    for number in check_number:
        for x in P[number]:
            if ans[x] == 0:
                ans[x] = number
                next_numbers.append(x)

print('Yes')
for i in range(2, N + 1):
    print(ans[i])
def get_ints():
  return map(int, input().split())

N, _, C = get_ints()
B = list(get_ints())

n = 0
for _ in range(N):
  A = list(get_ints())
  J = sum(a * b for a, b in zip(A, B)) + C
  if J > 0:
  	n += 1
    
print(n)


### FIXED CODE ###

H, W = map(int, input().split())
h, w = map(int, input().split())

print((H - h) * (W - w))
s = input()
ans = 0
l = []
for i in range(len(s)):
    if s[i] in list('ACGT'):
        ans += 1
    else:
        l.append(ans)
        ans = 0
l.append(ans)
print(max(li))


### FIXED CODE ###

s = list(input())
n = len(s)
ans = 0
li = []
for i in range(n):
    if s[i] in list('ACGT'):
        ans += 1
    else:
        li.append(ans)
        ans = 0
li.append(ans)
print(max(li))
s = input()
k = int(input())
for i in len(s):
    if s[i] != '1' and i < k:
        print(s[i])
        exit()
print('1')

### FIXED CODE ###

s = input()
k = int(input())
for i in range(len(s)):
    if s[i] != '1' and i < k:
        print(s[i])
        exit()
print('1')
A, B, K = map(int,input().split())

if A > K:
  A -= K
else:
  A = 0
  B = max(0, A + B - K)

print(A + " " + B)

### FIXED CODE ###

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

if A >= K:
  A -= K
else:
  B = max(0, A + B - K)
  A = 0

print(str(A) + " " + str(B))
#! /usr/bin/python
# -*- coding: utf-8 -*-

(t, n) = map(int, raw_input().split())
while t != 0 or n != 0:
    M = [[False]*100 for i in range(100)]
    for i in range(n):
        (obx, oby) = map(int, raw_input().split())
        M[oby+50][obx+50] = True
    (sx, sy) = map(int, raw_input().split())
    ST = [] #0:y 1:x 2:turn num
    cnt = 0
    #----above init----#
    #print s
    ST.append([sy+50, sx+50, 0])
    while len(ST) > 0:
        y = ST[0][0]
        x = ST[0][1]
        c = ST[0][2]
        ST.pop(0)
        if c <= t and M[y][x] == False:
            M[y][x] = True
            cnt += 1
            for dy in [-1, 0, 1]:
                for dx in [-1, 0, 1]:
                    if dx+dy != 0:
                        ST.append([y+dy, x+dx, c+1])
    print cnt
    
    (t, n) = map(int, raw_input().split())

### FIXED CODE ###

#! /usr/bin/python
# -*- coding: utf-8 -*-

(t, n) = map(int, raw_input().split())
while t != 0 or n != 0:
    M = [[False]*201 for i in range(201)]
    for i in range(n):
        (obx, oby) = map(int, raw_input().split())
        M[oby+100][obx+100] = True
    (sx, sy) = map(int, raw_input().split())
    ST = [] #0:y 1:x 2:turn num
    cnt = 0
    #----above init----#
    #print s
    ST.append([sy+100, sx+100, 0])
    while len(ST) > 0:
        y = ST[0][0]
        x = ST[0][1]
        c = ST[0][2]
        ST.pop(0)
        if y < 0 or 200 < y or x < 0 or 200 < x:
            continue
        if c <= t and M[y][x] == False:
            M[y][x] = True
            cnt += 1
            for dy in [-1, 0, 1]:
                for dx in [-1, 0, 1]:
                    if dx+dy != 0:
                        ST.append([y+dy, x+dx, c+1])
    print cnt
    
    (t, n) = map(int, raw_input().split())
n=int(input())
A=list(map(int,input().split()))
s=0
for i in range(n):
  s+=1/A[i]
print(1/s)
  

### FIXED CODE ###

a=int(input())
s=input()
if a>=3200:
  print(s)
else:
  print('red')
date = input()

date = date.replace('/', '')
if date <= 20190430:
    print("Heisei")
else:
    print("TBD")


### FIXED CODE ###

date = input()

date = int(date.replace('/', ''))
if date <= 20190430:
    print("Heisei")
else:
    print("TBD")
#C
import numpy as np
n = int(input())
a = list(map(int, input().strip().split()))
b = np.zeros((10**9+9))
for i in range(n):
    if b[a[i]] == 0:
        b[a[i]] += 1
    else:
        print('NO')
        exit()
print('YES')

### FIXED CODE ###

#C
n = int(input())
a = list(map(int, input().strip().split()))
a_l = set(a)

if len(a_l) == n:
    print('YES')
else:
    print('NO')
a = input()
s = input()
if a >= 3200:
  print(s)
else:
  print('red')

### FIXED CODE ###

a = int(input())
s = input()
if a > 3199:
  print(s)
else:
  print('red')
N = int(input())
A = list(map(int, input().split()))
Q = int(input())
A_cnt = [0] * 10000
A_sum = 0

for a in A:
    A_cnt[a]+=1

for _ in range(Q):
    B, C = map(int, input().split())
    A_cnt[C] = A_cnt[C] + A_cnt[B]
    A_cnt[B] = 0

    for i, x in enumerate(A_cnt):
        if A_cnt[i] > 0:
            A_sum = A_sum + (i * A_cnt[i])
    print(A_sum)
    A_sum = 0

### FIXED CODE ###

N = int(input())
A = list(map(int, input().split()))
Q = int(input())
A_cnt = [0] * 100001
A_sum = 0

# 各数値の数を数えておく
for a in A:
    A_cnt[a]+=1
    # ついでに現時点の総和も出しておく
    A_sum+=a

for _ in range(Q):
    B, C = map(int, input().split())
    A_cnt[C] = A_cnt[C] + A_cnt[B]
    A_sum = A_sum + ((C-B) * A_cnt[B])
    A_cnt[B] = 0
    print(A_sum)
MAX = int(2e5)+1


n = int(input())
lis = list(map(int,input().split()))
lis2 = [0]*MAX
# lis.sort()
# m = max(lis)
ans = 0
for num in lis:
    lis2[num] += 1

for num in lis:
    for i in range(num*2, MAX, num):
        if lis2[i] > 0:
            lis2[i] += 1

print(len([i for i in lis if lis2[i] == 1]))

### FIXED CODE ###

# MAX = int(1e6)+2


n = int(input())
lis = list(map(int,input().split()))
lis.sort()
MAX = lis[-1]
lis2 = [0]*(MAX+1)
# lis.sort()
# m = max(lis)
ans = 0

for num in lis:
    for i in range(num, MAX+1, num):
            lis2[i] += 1

for j in set(lis):
    if lis2[j] == 1:
        ans += 1
print(ans)