Harryxun/stf_run huggingface dataset:
for i in range(input()):
	ax,ay,bx,by,cx,cy,dx,dy = map(float, raw_input().split())
	ab = (ay - by) / (ax - bx)
	cd = (cy - dy) / (cx - dx)
	if int(ab - cd) == 0:
		print "YES"
	else:
		print "NO"

### FIXED CODE ###

for i in range(int(input())):
    x1, y1, x2, y2, x3, y3, x4, y4 = map(float, input().split())
    if abs((y1 - y2) * (x3 - x4) - (y3 - y4) * (x1 - x2)) < 1.e-10:
        print('YES')
    else:
        print('NO')
a = int(input())
b = int(input())
if a > b:
    print("GREATER")
elif a = b:
    print("EQUAL")
else:
    print("LESS")

### FIXED CODE ###

a = int(input())
b = int(input())
if a > b:
    print("GREATER")
if a == b:
    print("EQUAL")
if a < b:
    print("LESS")
import numpy as np
import math

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

c = (B  - B%C) / C - ((A-1)  - (A-1)%C)/C
d = (B  - B%D) / D - ((A-1)  - (A-1)%D)/D

CD = (C * D  - (C * D % math.gcd(C, D))) / math.gcd(C, D)
cd = (B  - B%CD) / CD - ((A-1)  - (A-1)%CD)/CD

ans = B - (A-1) - (c + d - cd)
ans = int(ans)

print(ans)

### FIXED CODE ###

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

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

c = B//C - (A-1)//C
d = B//D - (A-1)//D

CD = C * D // gcd(C, D)
cd = B//CD - (A-1)//CD

ans = B - (A-1) - (c + d - cd)
print(ans)
import sys, re, os
from collections import deque, defaultdict, Counter
from math import ceil, sqrt, hypot, factorial, pi, sin, cos, radians
from itertools import permutations, combinations, product, accumulate
from operator import itemgetter, mul
from copy import deepcopy
from string import ascii_lowercase, ascii_uppercase, digits
from fractions import gcd
 
def input(): return sys.stdin.readline().strip()
def INT(): return int(input())
def MAP(): return map(int, input().split())
def S_MAP(): return map(str, input().split())
def LIST(): return list(map(int, input().split()))
def S_LIST(): return list(map(str, input().split()))
 
sys.setrecursionlimit(10 ** 9)
INF = float('inf')
mod = 10 ** 9 + 7

from functools import reduce
from math import gcd as gcd_base  # from fractions import gcd
gcd = lambda *numbers: reduce(gcd_base, numbers)  # 3 数以上の最大公約数

lcm_base = lambda x, y: (x * y) // gcd_base(x, y)
lcm = lambda *numbers: reduce(lcm_base, numbers, 1)  # 3 数以上の最小公倍数

N = INT()
A = LIST()

l = lcm(*A)
B = []
for a in A:
  B.append(l // a)
print(sum(B) % mod)





### FIXED CODE ###

import sys, re, os
from collections import deque, defaultdict, Counter
from math import ceil, sqrt, hypot, factorial, pi, sin, cos, radians
from itertools import permutations, combinations, product, accumulate
from operator import itemgetter, mul
from copy import deepcopy
from string import ascii_lowercase, ascii_uppercase, digits
from fractions import gcd
 
def input(): return sys.stdin.readline().strip()
def INT(): return int(input())
def MAP(): return map(int, input().split())
def S_MAP(): return map(str, input().split())
def LIST(): return list(map(int, input().split()))
def S_LIST(): return list(map(str, input().split()))
 
sys.setrecursionlimit(10 ** 9)
INF = float('inf')
mod = 10 ** 9 + 7

# from functools import reduce
# from math import gcd as gcd_base  # from fractions import gcd
# gcd = lambda *numbers: reduce(gcd_base, numbers)  # 3 数以上の最大公約数

# lcm_base = lambda x, y: (x * y) // gcd_base(x, y)
# lcm = lambda *numbers: reduce(lcm_base, numbers, 1)  # 3 数以上の最小公倍数
# 最小公倍数
# def gcd(a, b):
#     if a < b:
#         a, b = b, a
#     while a % b != 0:
#         a, b = b, a % b
#     return b



def many_lcm(l):
    tmp = l[0]
    for i in range(1, len(l)):
        tmp = tmp * l[i]//gcd(tmp, l[i])
    return tmp
N = INT()
A = LIST()

lm = many_lcm(A)
ans = 0
for a in A:
    ans += lm // a
    
print(ans % mod)
S=list(input())
ans=0
if S[0]=='+':
    ans+=1
  else :
    ans-=1
if S[1]=='+':
    ans+=1
  else :
    ans-=1
if S[2]=='+':
    ans+=1
  else :
    ans-=1
if S[3]=='+':
    ans+=1
  else :
    ans-=1    
print(ans)    


### FIXED CODE ###

S=list(input())
ans=0
if S[0]=='+':
    ans+=1
else :
    ans-=1
if S[1]=='+':
    ans+=1
else :
    ans-=1
if S[2]=='+':
    ans+=1
else :
    ans-=1
if S[3]=='+':
    ans+=1
else :
    ans-=1    
print(ans)
a,b = map(int,input(),split())
if (a*b) % 2 == 1:
  print('Odd')
else:
  print('Even')

### FIXED CODE ###

a,b=map(int,input().split())
if (a*b)%2 == 1:
  print('Odd')
else:
  print('Even')
def main():
    x,y = map(int,input().split())
    tmp = []
    for i in range(2,max(2,min(int(x ** 0.5)+1, int(y ** 0.5 )+1))):
        if x % i ==0 and y % i == 0:
            tmp.append(i)
            while True:
                if x % i == 0:
                    x = x//i
                else:
                    break
            while True:
                if y % i == 0:
                    y = y//i
                else:
                    break


    print(len(tmp) + 1)
    # print(tmp)
    # for i,a in enumerate(tmp):
    #     if a < 4:
    #         tmp[i] = 1
    #         continue
    #     j = 2
    #     for j in range(2,int(a**0.5)+1):
    #         if a % j == 0:
    #             tmp[i] = 0
    #             break
    #     if tmp[i] != 0:
    #         tmp[i] = 1
    # print(sum(tmp))
    # print(tmp)

    # cnt = 0
    # # print(tmp)
    # flg = 0
    # for i,a in enumerate(tmp):
    #     # print('out' + str(i) + ' ' + str(a))
    #     if a == 1:
    #         continue
    #     leng = len(tmp)
    #     for j in range(i+1,leng):
    #         # print(j)
    #         # print(tmp)
    #         # print(leng)
    #         if flg == 1:
    #             j -=1
    #         flg = 0
    #         if j >= leng:
    #             break
    #         # print(str(j) + ' ' + str(leng) + ' ' + str(tmp[j]))
    #         if tmp[j] % a == 0:
    #             tmp.pop(j)
    #             leng -=1
    #             j -= 1
    #             # print(tmp)
    #             # print(j)
    #             flg = 1
    #
    #                 # print(j)
    #                 # print(a)
    #

    # print(len(tmp))
    # print(tmp)
if __name__=='__main__':
    main()


### FIXED CODE ###

n=int(input())
i=1
count = 0
while i <= n:
    if i % 2 == 1:
        count+=1
    i+=1

print(count/n)
N = input()
H = list(map(int,input().split()))
 
c1 =0
c2 =0
for i in range(N-1):
  if H[i] >= H[i+1]:
    c1+=1
  else:
    if c1 > c2:
      c2=c1
    c1=0
print(c2)

### FIXED CODE ###

N = int(input())
H = list(map(int,input().split()))
 
c1 =0
c2 =0
for i in range(N-1):
  if H[i] >= H[i+1]:
    c1+=1
  else:
    if c1 > c2:
      c2=c1
    c1=0
if c1>c2:
  c2=c1
print(c2)
s = input()
i = 0
now = s[0]
ans = 1
while i <=len(s)-1:
    if i ==len(s) -1:
        break
    if len(now)==2:
        now = s[i+1]
        i += 1
        ans+=1
    if len(now)==1:
        if now != s[i+1]:
            now = s[i+1]
            i +=1
            ans+=1
        else:
            if i+2 <= len(s)-1:
                now = s[i+1:i+3]
                ans +=1
            i +=2
print(ans)

### FIXED CODE ###

s = input()
i = 1
now = s[0]
ans = 1
while i <=len(s)-1:
    if i >=len(s):
        break
    if len(now)==2:
        now = s[i]
        i += 1
        ans+=1
        continue
    if len(now)==1:
        if now != s[i]:
            now = s[i]
            i +=1
            ans+=1
        else:
            if i+2 <= len(s):
                now = s[i:i+2]
                ans +=1
            i +=2
            continue
print(ans)
import sys

N,M=map(int,input().split())
a=[int(input()) for i in range(M)]
c=[0]*(N+1)
c[0]=1
MOD=7+10**9
if M==0:
    c[1]=1
    for i in range(1,N):
        c[i+1]=c[i]+c[i-1]
    print(c[N])
else:
    j=0
    for i in range(1,N+1):
        if i==a[j]:
            if j+1<=M:
                if i+1==a[j+1]:
                    print(0)
                    sys.exit(0)
                else:
                    j+=1
        elif i==1:
            c[i]=1
        else:
            c[i]=(c[i-1]+c[i-2])%MOD
    print(c[-1]%MOD)
            

### FIXED CODE ###

N,M=map(int,input().split())
a = [int(input()) for _ in range(M)]
dp = [0]*(N+1)
j = 0
dp[0] = 1
mod = 10**9+7
for i in range(1, N+1):
    if j < M and i == a[j]:
        j += 1
    elif i == 1:
        dp[i] = 1
    else:
        dp[i] = (dp[i-1]+dp[i-2]) % mod
print(dp[N])
import sympy

A, B, K = [int(i) for i in input().split()]
result_list = []

for i in sympy.divisors(A):
    for j in sympy.divisors(B):
        if i == j:
            result_list.append(i)

print(result_list[-K])

### FIXED CODE ###

A, B, K = [int(i) for i in input().split()]
result_list = []

def divisor_list(n):
    i = 1
    array = []
    while i * i <= n:
        if n % i == 0:
            array.append(i)
            array.append(n//i)
        i += 1
    array = list(set(array))
    return array

for i in divisor_list(A):
    for j in divisor_list(B):
        if i == j:
            result_list.append(i)

print(sorted(result_list)[-K])
import sys
n,k = list(map(int, input().split()))
s = input()

if s[k-1] == "A":
    s[k-1] = "a"
elif s[k-1] == "B":
    s[k-1] = "b"
else:
    s[k-1] = "c"

print(s)

### FIXED CODE ###

import sys
n,k = list(map(int, input().split()))
s = list(input())

if s[k-1] == "A":
    s[k-1] = "a"
elif s[k-1] == "B":
    s[k-1] = "b"
else:
    s[k-1] = "c"

print("".join(s))
a, b = map(int, input().split())
 if (a > b):
    print "a > b"
if (a < b):
    print "a < b"
else:
    print 'a == b'

### FIXED CODE ###

a, b = map(int, raw_input().split())
if a < b:
 print "a < b"
elif a > b:
 print "a > b"
else:
 print "a == b"
results=[]
while True:
    a=list(map(input().split("\"")))
    if a[0]==".":
        break
    b=list(map(input().split("\"")))
    count1=0
    count2=0
    for i in range(int(len(a))):
        if(i%2==1):
            for (k,l) in zip(a[i],b[i]):
                if(k!=l):
                    count1+=1
        else:
            for k,l in zip(a[i],b[i]):
                if(k!=l):
                    count2+=1
    if len(a) != len(b):
        results.append(2)
    else:
        if count1==0 and count2==0:
            results.append(0)
        elif count1==1 and count2==0:
            results.append(1)
        else:
            results.append(2)
for i in results:
    if i==0:
        print("IDENTICAL")
    if i==1:
        print("CLOSE")
    if i==2:
        print("DIFFERENT")
    



### FIXED CODE ###

results=[]
while True:
    a=input().split("\"")
    if a[0]==".":
        break
    b=input().split("\"")
    count1=0
    count2=0
    if len(a) != len(b):
        results.append(2)
    else:
        for i in range(len(a)):
            if(i%2==1):
                if len(a[i]) != len(b[i]):
                    count1+=1
                else:
                    for k,l in zip(a[i],b[i]):
                        if(k!=l):
                            count1+=1
            else:
                if len(a[i]) != len(b[i]):
                    count2+=1
                else:
                    for k,l in zip(a[i],b[i]):
                        if(k!=l):
                            count2+=1           
        if count1==0 and count2==0:
            results.append(0)
        elif count1==1 and count2==0:
            results.append(1)
        else:
            results.append(2)
for i in results:
    if i==0:
        print("IDENTICAL")
    if i==1:
        print("CLOSE")
    if i==2:
        print("DIFFERENT")
cook = []
for i in range(5):
    cook.append(int(input()))
mn = 10
time = 0
for i in cook:
    if i%10 < mn and i%10!=0:
        mn = i%10
for i in cook:
    if (i%10)==mn:
        ans = i
        continue
    else:
        if i%10==0:
            time += i
        else:
            time += i + 10-(i%10)
time += ans
print(time)

### FIXED CODE ###

s = 0
rests = [None]*5

for i in range(5):
    t_num = int(input())
    s += t_num
    rests[i] = (10 - (t_num % 10)) % 10 

print(s + sum(rests)- max(rests))
N, M = map(int, input().split())
cities = {}
for i in range(0, N):
    cities[i] = 0
for _ in range(0, M):
    a, b = map(int, input().split())
    cities[a] += 1
    cities[b] += 1
# 都市をkeyにしたdictを作って、その内容をインクリしていく?
for i in range(0, N):
    print (cities[i])


### FIXED CODE ###


N, M = map(int, input().split())
cities = {}
for i in range(1, N+1):
    cities[i] = 0
for _ in range(0, M):
    a, b = map(int, input().split())
    cities[a] += 1
    cities[b] += 1
# 都市をkeyにしたdictを作って、その内容をインクリしていく?
for i in range(1, N+1):
    print (cities[i])
W,H,x,y,r = list(map(int,input().split()))
print("No" if x<r or x+r>W or y<r y+r>H else "Yes")


### FIXED CODE ###

W,H,x,y,r = list(map(int,input().split()))
print("No" if x<r or x+r>W or y<r or y+r>H else "Yes")
import numpy as np
h,w=map(int,input().split())
M=list(["*"]+list(input())+["*"] for i in range(h))
M.append(["*"]*(w+2))
M.insert(0,["*"]*(w+2))
add=[]
def go(a,b):
    root=[[1,0],[-1,0],[0,1],[0,-1]]
    for x,y in root:
        A,B=a+x,b+y
        if M[A][B]==".":
            M[A][B]="*"
            go(A,B)
            add.append((A,B))
    return add

cnt=0
if (h,w) in go(1,1):
    for i in range(1,h+1):
        for j in range(1,w+1):
            if M[i][j]=="#":cnt +=1
    print((h*w)-(h+w+cnt-1))
else:print(-1)

### FIXED CODE ###

h,w=map(int,input().split())
b=[["#"]*(w+2)]
a=0
for i in range(h):
  c=["#"]
  for j in input():
    a+=j=="#"
    c.append(j)
  b.append(c+["#"])
b+=[["#"]*(w+2)]
b[h][w]=0
Q=[(1,1)]
x=0
y=-1
while Q:
	x+=1
	p=[]
	for i,j in Q:
		for dx,dy in [(1,0),(-1,0),(0,1),(0,-1)]:
			if b[i+dx][j+dy]==".":
				p+=[(i+dx,j+dy)]
				b[i+dx][j+dy]="#"
			elif b[i+dx][j+dy]==0:
				y=x
	if y>0:break
	Q=p
if y>0:print((h*w)-a-y-1)
else:print(-1)
import itertools
from pprint import pprint
import sys 
sys.setrecursionlimit(1000000000)
#基本的に10*100*len(bonus_masterlist)回ループを回せばよい
#len(bonus_masterlist)は最大で2**10=1024
#余裕をもってさらに100倍

d,g = map(int,input().split())

plist=[]
clist=[]

bonus_masterlist=[]

for _ in range(d):
    p_temp,c_temp = map(int,input().split())
    plist.append(p_temp)
    clist.append(c_temp)


bonus_masterlist = list(itertools.product(range(2), repeat=5))
#bit全探索をやらなくても、itertoolsを使えば一瞬でできちゃう。(タプルのリスト)
#for i in range(2**d):
#    bonus_templist = [0] * d
#    for j in range(d):
#        if i >> j & 1:
#            bonus_templist[d-1-j] = 1
#    bonus_masterlist.append(bonus_templist)

#point_list = [100,200,300, ... ,d*100]
#max_list: plist = [p[0],p[1],p[2], ... ,p[d]]
#bonuspoint_list: clist = [c[0],c[1],c[2], ... ,c[d]]

count_list = [0] * d

mincount = 100 * 10

def dfs(target):
    global mincount
    if sum([count_list[i] * 100*(i+1) for i in range(d)]) + sum([bonus_list[j] * clist[j] for j in range(d)]) >= g:
        if sum(count_list) < mincount:
            mincount = sum(count_list)
    elif plist[target] == count_list[target]:
        bonus_list[target] = 1
        dfs(target-1)
    elif plist[target] > count_list[target]:
        count_list[target] += 1
        dfs(target)
    return

for bonus_tuple in bonus_masterlist:
    bonus_list = list(bonus_tuple)
    count_list = [x * y for (x, y) in zip(bonus_list, plist)]
    dfs(d-1)

print(mincount)

### FIXED CODE ###

import itertools
from pprint import pprint


d,g = map(int,input().split())

plist=[]
clist=[]

bonus_masterlist=[]

for _ in range(d):
    p_temp,c_temp = map(int,input().split())
    plist.append(p_temp)
    clist.append(c_temp)


bonus_masterlist = list(itertools.product(range(2), repeat=d))
#bit全探索をやらなくても、itertoolsを使えば一瞬でできちゃう。(タプルのリスト)
#for i in range(2**d):
#    bonus_templist = [0] * d
#    for j in range(d):
#        if i >> j & 1:
#            bonus_templist[d-1-j] = 1
#    bonus_masterlist.append(bonus_templist)

#point_list = [100,200,300, ... ,d*100]
#max_list: plist = [p[0],p[1],p[2], ... ,p[d]]
#bonuspoint_list: clist = [c[0],c[1],c[2], ... ,c[d]]

count_list = [0] * d

mincount = 100 * 10

"""
def dfs(i):
    global mincount
    if sum([count_list[i] * 100*(i+1) for i in range(d)]) + sum([bonus_list[j] * clist[j] for j in range(d)]) >= g:
        if sum(count_list) < mincount:
            mincount = sum(count_list)
    elif plist[i] == count_list[i]:
        bonus_list[i] = 1
        dfs(i-1)
    elif plist[i] > count_list[i]:
        count_list[i] += 1
        dfs(i)
    return
"""

for bonus_tuple in bonus_masterlist:
    bonus_list = list(bonus_tuple)
    count_list = [x * y for (x, y) in zip(bonus_list, plist)]
    i = d-1
    while True:
        if sum([count_list[i] * 100*(i+1) for i in range(d)]) + sum([bonus_list[j] * clist[j] for j in range(d)]) >= g:
            if sum(count_list) < mincount:
                mincount = sum(count_list)
            break
        elif plist[i] == count_list[i]:
            bonus_list[i] = 1
            i -= 1
            continue
        elif plist[i] > count_list[i]:
            count_list[i] += 1
            continue


print(mincount)
#!/usr/bin/env python
# -*- coding: utf-8 -*-
class point:
    def __init__(self, x, y):
        self.x = x
        self.y = y

n = int(raw_input())
for i in range(n):
    xa, ya, xb, yb, xc, yc, xd, yd = map(float, raw_input().split(" "))
    a = point(xa, ya)
    b = point(xb, yb)
    c = point(xc, yc)
    d = point(xd, yd)
    if (a.y - b.y)/(a.x - b.x) - (c.y - d.y)/(c.x - d.x) < 1e-9:print "YES"
    else:print "NO"
    

### FIXED CODE ###

#!/usr/bin/env python
# -*- coding: utf-8 -*-
n = int(raw_input())
for i in range(n):
    xa, ya, xb, yb, xc, yc, xd, yd = map(float, raw_input().split(" "))
    if abs((ya - yb)*(xc - xd) - (yc - yd)*(xa - xb)) < 1e-12:print "YES"
    else:print "NO"
#C
n = int(input())
h = list(map(int,input().split()))
dif = []

for i in range(len(h)-1):
    dif.append(h[i]-h[i+1])
cnt_list = []
for i in range(len(dif)):
    if dif[i] >= 0:
        cnt = 1
        for j in range(i+1,len(dif)):
            if dif[j] >= 0:
                cnt += 1
            else:
                break
    else:
        cnt = 0
    cnt_list.append(cnt)

print(max(cnt_list))

### FIXED CODE ###

n = int(input())
h = list(map(int,input().split()))
cnt = 0
max = 0

for i in range(1,len(h)):
    if h[i] <= h[i-1]:
        cnt+=1
        if cnt > max:
            max = cnt
    else:
        cnt = 0

print(max)
N = int(input())
A = range(N)
for i in range(N):
  A[i] = int(input())
  

A2nums = [0] * N
for i in range(N):
  while True:
    A[i] /= 2
    if A[i] % 2 == 0:
      A2num[i] += 1
    else: 
      break    

print(min(A2num))

### FIXED CODE ###

N = int(input())
A = list(map(int, input().split()))
  
 
A2nums = [0] * N
for i in range(N):
  while True:
    if A[i] % 2 == 0:
      A2nums[i] += 1
      A[i] /= 2
    else: 
      break    
 
print(min(A2nums))
def cache_dice(d):
    return dlist.append((d, {v: k for k, v in enumerate(d)}))


n, d1 = int(input()), tuple(map(int, input().split()))
dlist = []

cache_dice(d1)

dms = ((1, 2, 4, 3), (0, 3, 5, 2), (0, 1, 5, 4), (0, 4, 5, 1), (0, 2, 5, 3), (1, 3, 4, 2))

for _ in range(n - 1):
    d2 = tuple(map(int, input().split()))
    for (dl, dd) in dlist:
        if d2[0] not in dd:
            cache_dice(d2)
            continue
        d0 = dd[d2[0]]
        dm = dms[d0]
        if dd[d2[1]] not in dm:
            cache_dice(d2)
            continue
        dmi = dm.index(dd[d2[1]])
        if d2[2] == d1[dm[(dmi + 1) % 4]] \
                and d2[3] == d1[dm[(dmi + 3) % 4]] \
                and d2[4] == d1[dm[(dmi + 2) % 4]] \
                and d2[5] == d1[5 - d0]:
            print('No')
            exit(0)
    cache_dice(d2)
print('Yes')

### FIXED CODE ###

ROLL_MASTER = (
    (0, 1, 2, 3, 4, 5), (1, 0, 3, 2, 5, 4), (2, 0, 1, 4, 5, 3),
    (3, 0, 4, 1, 5, 2), (4, 0, 2, 3, 5, 1), (5, 1, 3, 2, 4, 0))
TWIST_MASTER = (0, 2, 4, 1, 3, 5)


def roll(dice, top):
    return tuple(dice[i] for i in ROLL_MASTER[top])


def twist(dice):
    return tuple(dice[i] for i in TWIST_MASTER)


def twist_check(d1, d2):
    if d1[0] != d2[0] or d1[5] != d2[5]:
        return False
    for _ in range(4):
        if d1 == d2:
            return True
        d2 = twist(d2)
    return False


def equal_check(d1, d2):
    for i in range(6):
        if twist_check(d1, roll(d2, i)):
            return True
    return False


def differs_all():
    n, d1, dset = int(input()), tuple(map(int, input().split())), set()
    dset.add(d1)

    for _ in range(n - 1):
        d2 = tuple(map(int, input().split()))
        for d1 in dset:
            if equal_check(d1, d2):
                return False
        dset.add(d2)
    return True


print('Yes' if differs_all() else 'No')
n, m = list(map(int, input().split()))
tmp = [[0 for i in range(1)] for j in range(m)]
pys = []
for i in range(0, m):
    p, y = list(map(int, input().split()))
    tmp[p].append(y)
    pys.append([p, y])

ttmp = [[0 for i in range(1)] for j in range(m)]

for i in range(m):
    ttmp[i] = sorted(tmp[i])

for py in pys:
    p, y = py
    yindex = ttmp[p].index(y)
    print('{:06}'.format(p) + '{:06}'.format(yindex))

### FIXED CODE ###

n, m = list(map(int, input().split()))
tmps = [[] for _ in range(n)]
pyxs = []

for i in range(m):
    p, y = list(map(int, input().split()))
    pyxs.append([p, y, i])

pyxs.sort(key = lambda x: x[1])

num = [0] * (n+1)
ans = [None]*m

for p, y, x in pyxs:
    ans[x] = '{:06}'.format(p) + '{:06}'.format(num[p]+1)
    num[p] += 1

for s in ans:
    print(s)
n = int(input())
s = list(map(int, input().split()))

print("Four" if "Y" in s else "Three")


### FIXED CODE ###

n = int(input())
s = list(input().split())

print("Four" if "Y" in s else "Three")
import sys
import math
n = int(input())
s = [input() for m in range(n)]
march = ['M','A','R','C','H']
ans = []

for i in range(n):
	if s[i][0] in march:
		ans.append(s[i][0])
s_set = set(ans)
sl = len(s_set)
if sl == 0:
	print(0)
	sys.exit()
double_num = len(ans) - len(s_set)
factorial_num = math.factorial(sl) // (math.factorial(sl - 3) * math.factorial(3))
if sl <= 2:
	print(0)
	sys.exit()
elif sl == 3:
	print(factorial_num * 2*double_num)
	sys.exit()
elif sl == 4:
	print(factorial_num *2*(double_num) -(1*double_num))
	sys.exit()
else:
	print(factorial_num + 2*double_num -(4 *double_num))
	sys.exit()

### FIXED CODE ###

import itertools
from collections import Counter
n = int(input())
s = [input()[0] for _ in range(n)]
cnt = Counter(s)
#print(cnt)

ans = 0
for x,y,z in itertools.combinations("MARCH",3):
 # print(x,y,z)
  ans += cnt[x]*cnt[y]*cnt[z]
  #print(cnt[x],cnt[y],cnt[z])
        
print(ans)
a = input("")
b = input("")

wa = int(a) + int(b)
sa = int(a) - int(b)
seki = int(a) * int(b)

if wa >= sa and wa >= seki:
    print(wa)
elif sa >= wa and sa >= seki:
    print(sa)
else:
    print(seki)

### FIXED CODE ###

a,b=input().split()

wa = int(a) + int(b)
sa = int(a) - int(b)
seki = int(a) * int(b)

if wa >= sa and wa >= seki:
    print(str(wa))
elif sa >= wa and sa >= seki:
    print(str(sa))
else:
    print(str(seki))
import math

r = int(raw_input())

menseki = r ** 2 * math.pi
shuu = 2 * r * math.pi

print("{:.6f} {:.6f}".format(menseki, shuu))

### FIXED CODE ###

import math

r = float(raw_input())

menseki = r ** 2 * math.pi
shuu = 2 * r * math.pi

print("{:.6f} {:.6f}".format(menseki, shuu))
import copy

n, m = map(int, input().split())
h = list(map(int, input().split()))
l = []
for i range(m):
    a, b = map(int, input().split())
    l.append([a, b])

ll = [0]*n

for j in l:
    if h[j[0] - 1] > h[j[1] - 1]:
        ll[j[1] - 1] += 1
    elif h[j[0] - 1] == h[j[1] - 1]:
        ll[j[1] - 1] += 1
        ll[j[0] - 1] += 1
    else:
        ll[j[0] - 1] += 1

ans = 0

for k in ll:
    if k == 0:
        ans += 1
    else:
        ans += 0
    
print(ans)

### FIXED CODE ###

import copy

n, m = map(int, input().split())
h = list(map(int, input().split()))
l = []
for i in range(m):
    a, b = map(int, input().split())
    l.append([a, b])

ll = [0]*n

for j in l:
    if h[j[0] - 1] > h[j[1] - 1]:
        ll[j[1] - 1] += 1
    elif h[j[0] - 1] == h[j[1] - 1]:
        ll[j[1] - 1] += 1
        ll[j[0] - 1] += 1
    else:
        ll[j[0] - 1] += 1

ans = 0

for k in ll:
    if k == 0:
        ans += 1
    else:
        ans += 0
    
print(ans)