Harryxun/stf_run huggingface dataset:
W, H, x, y, r = map(int, input().split()))
  if x - r > 0 && x + r < W && y - r > 0 && y + r < H:
    print(Yes)
  else:
    print(No)

### FIXED CODE ###

W, H, x, y, r = map(int, input().split())
if r <= x <= W - r and r <= y <= H - r:
  print("Yes")
else:
  print("No")
import math
from functools import reduce

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

a = sorted(a)

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

def lcm_list(numbers):
    return reduce(lcm_base, numbers, 1)

temp = lcm_list(a) - 1

result = 0
for i in a:
    result += temp % i

print(result)

### FIXED CODE ###

from fractions import gcd
from functools import reduce

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

a = sorted(a)

def lcm_base(x, y):
    return (x * y) // gcd(x, y)

def lcm_list(numbers):
    return reduce(lcm_base, numbers, 1)

temp = lcm_list(a) - 1

result = 0
for i in a:
    result += temp % i

print(result)
IDENTIFICATION DIVISION.
PROGRAM-ID. PROGRAM_ID.

DATA DIVISION.
WORKING-STORAGE SECTION.
01 ln             PIC X(30).
01 N              PIC 9(10).
01 Q              PIC 9(10).
01 R              PIC 9(10).

PROCEDURE DIVISION.
  ACCEPT ln.
  UNSTRING ln DELIMITED BY SPACE INTO N.
  DIVIDE N BY 10 GIVING Q REMAINDER R.
  IF R = 2 OR 4 OR 5 OR 7 OR 9
      DISPLAY "hon"
  ELSE IF R = 0 OR 1 OR 6 OR 8
      DISPLAY "pon"
  ELSE
      DISPLAY "bon"
  END-IF.
  STOP RUN.


### FIXED CODE ###

def main():
    N = input()
    N = int(N[len(N) - 1])
    ans = ""
    if N in {2, 4, 5, 7, 9}:
        ans = "hon"
    elif N in {0, 1, 6, 8}:
        ans = "pon"
    else:
        ans = "bon"
    print(ans)
    return


main()
n = int(input())
count = 0
for i in range(105,n+1,2):
  x = 0
  for j in range(1,i+1):
    if i%j==0:
      c+=1
  if x == 8:
    count += 1
print(count)

### FIXED CODE ###

n = int(input())
count = 0
for i in range(105,n+1,2):
  x = 0
  for j in range(1,i+1):
    if i%j==0:
      x+=1
  if x == 8:
    count += 1
print(count)
from math import gcd
n = int(input())
t = [int(input()) for i in range(n)]
cm = t[0]

for i in range(1, n):
    cm = cm*t[i]//gcd(cm, t[i])
print(cm)


### FIXED CODE ###

from fractions import gcd
n = int(input())
t = [int(input()) for i in range(n)]
cm = t[0]

for i in range(1, n):
    cm = cm*t[i]//gcd(cm, t[i])
print(cm)
from itertools import groupby
n, k = map(int, input().split())
S = input().strip()
L = [len(list(g)) for v, g in groupby(S)]
A = [sum(L[:2*k+1])]
for i in range(0, len(L)-2*k-1, 2):
    A += A[-1]-L[i]-L[i+1]+L[i+2*k+1]+L[i+2*k+2],
print(max(A))

### FIXED CODE ###

from itertools import groupby
n, k = map(int, input().split())
S = input().strip()
L = [len(list(g)) for v, g in groupby(S)]
if S[0] == '0':
    L = [0] + L
if S[-1] == '0':
    L = L + [0]

A = [sum(L[:2*k+1])]
for i in range(0, len(L)-2*k-1, 2):
    A += A[-1]-L[i]-L[i+1]+L[i+2*k+1]+L[i+2*k+2],
print(max(A))
import math
def op(u,v):
    return (conjugate(u)*v).imag

f = []
while True:
    try:
        st = input().strip().split(',')
        x,y = list(map(float,st ))
        f.append(x + y*1j)
    except EOFError:
        break

s = 0.0
fo = f[0]
for j in range(2,len(f)):
    i = j - 1
    s += op(i-fo,j-fo)/2.0
print("%.6f" % abs(ss))

### FIXED CODE ###

def op(u,v):
    return (complex.conjugate(u)*v).imag

f = []
while True:
    try:
        st = input().strip().split(',')
        x,y = list(map(float,st ))
        f.append(x + y*1j)
    except EOFError:
        break

s = 0.0
fo = f[0]
for j in range(2,len(f)):
    i = j - 1
    s += op(f[i]-fo,f[j]-fo)/2.0
print("%.6f" % abs(s))
n = int(input())
action = []
for i in range(n):
    action.append(list(map(int,input().split())))

memo = []
for i in range(n):
    memo.append([-1]*3)

def dp(i, a):
  	global memo
    if i == 0:
        return action[0][a]
    elif memo[i][a] != -1:
        return memo[i][a]
    else:
        memo[i][a] = max(dp(i-1, (a+1)%3), dp(i-1, (a+2)%3)) + action[i][a]
        return memo[i][a]

print(max([dp(n-1,a) for a in range(3)]))


### FIXED CODE ###

n = int(input())
action = []
for i in range(n):
    action.append(list(map(int,input().split())))

memo = []
for i in range(n):
    memo.append([-1]*3)

def dp(i, a):
    if i == 0:
        return action[0][a]
    elif memo[i][a] != -1:
        return memo[i][a]
    else:
        memo[i][a] = max(dp(i-1, (a+1)%3), dp(i-1, (a+2)%3)) + action[i][a]
        return memo[i][a]

import sys
sys.setrecursionlimit(1000000)
print(max([dp(n-1,a) for a in range(3)]))
n = int(input())
s = list(input())
count=0
counts=[]
for i in range(n):
    east,west = s[:i],s[i+1:]
    for n in east:
        if n=="W":
            count+=1
    for e in west:
        if e == "E":
            count +=1
    counts.append(count)
    
print(min(counts))

### FIXED CODE ###

a,b = map(int, input().split() )
result=[]
s = a+b
result.append(s)
s = a*b
result.append(s)
s = a-b
result.append(s)
print(max(result))
import sys
input = sys.stdin.readline
I = lambda : list(map(int,input().split()))

n,=I()
if sum(n)%9==0:
  print("Yes")
else:
  print("No")


### FIXED CODE ###

import sys
input = sys.stdin.readline
I = lambda : list(map(int,input().split()))

n=I()
if sum(n)%9==0:
  print("Yes")
else:
  print("No")
a = int(input())
b = int(input())
if (2 % a * b == 0): 
    print("Even")
if (2 % a * b != 0):
    print("0dd")
    
    

### FIXED CODE ###

a, b = map(int, input().split())
if a * b % 2 == 0:print("Even")
if a * b % 2 != 0:print("Odd")
import sys
array =[]
for line in sys.stdin.readlines():
    array.append(line.rstrip())
num1 = array[0]
box =list()
num2 = array[1]
print(num2)
for i in range(0,len(num2.split(" "))) :
    box.append(int(num2.split(" ")[i]))
count =0
for j in range(len(box)):
    while(True):
        if box[j]%2==0:
            count+=1
            box[j]=box[j]//2
        else:
            break;
print(count)    

### FIXED CODE ###

input_lines = input()
if int(input_lines.split(" ")[0])<=8 and int(input_lines.split(" ")[1])<=8:
    print("Yay!")
else:
    print(":(")
n = int(input())

for i in range(1,n+1):
    if i % 15 == 0:
        print('Fizz Buzz')
    elif i % 3 == 0:
        print('Fizz')
    elif i % 5 == 0:
        print('Buzz')
    else:
        sum=sum+i

### FIXED CODE ###

n = int(input())
sum = 0

for i in range(1, n + 1):

    if i % 3 != 0 and i % 5 != 0:
        sum = sum + i

print(sum)
import sys
from bisect import bisect_left, bisect_right
from functools import lru_cache


@lru_cache(maxsize=None)
def solve(l, r):
    if l >= r:
        return 0
    return solve(rightmost[l], r) + 1


n = int(input())
xxx = list(map(int, input().split()))
l = int(input())

rightmost = []
for x in xxx:
    rightmost.append(bisect_right(xxx, x + l) - 1)

buf = []
q = int(input())
for line in sys.stdin:
    a, b = map(int, line.split())
    a -= 1
    b -= 1
    if a > b:
        a, b = b, a
    buf.append(solve(a, b))
print('\n'.join(map(str, buf)))


### FIXED CODE ###

import sys
from bisect import bisect

n = int(input())
xxx = list(map(int, input().split()))
l = int(input())

reachable = [[bisect(xxx, x + l) - 1 for x in xxx]]
while reachable[-1][0] < n - 1:
    rp = reachable[-1]
    reachable.append(list(map(rp.__getitem__, rp)))

q = int(input())
buf = []
for line in sys.stdin:
    a, b = map(int, line.split())
    a -= 1
    b -= 1
    if a > b:
        a, b = b, a
    ans = 0
    for i in range(len(reachable) - 1, -1, -1):
        ria = reachable[i][a]
        if ria >= b:
            continue
        ans += 1 << i
        a = ria
    if a != b:
        ans += 1
    buf.append(ans)

print('\n'.join(map(str, buf)))
import sys
sys.setrecursionlimit(100100)
from collections import deque
def factorials(M):#M!までのリストｘと其の逆元のリストyを返すmod INF
    INF=int(1e9+7)
    fac=[0]*(M+1)
    finv=[0]*(M+1)
    inv=[0]*(M+1)
    fac[0]=fac[1]=1
    finv[0]=finv[1]=1
    inv[1]=1
    for i in range(2,M+1):
        fac[i]=(fac[i-1]*i)%INF
        inv[i]=INF-(inv[INF%i]*(INF//i))%INF
        finv[i]=finv[i-1]*inv[i]%INF
    return fac,finv

N,K=map(int,input().split())
fac,finv=factorials(N)
def nCr(n,r):
    INF=int(1e9+7)
    if n<r or r<0 or n<0 :
        return 0
    return fac[n]*(finv[r]*finv[n-r]%INF)%INF
A=[0]*N
G=[[] for i in range(N)]
MOD=10**9+7
for i in range(N-1):
    a,b=map(int,input().split())
    a,b=a-1,b-1
    A[a]+=1
    A[b]+=1
    G[a].append(b)
    G[b].append(a)
ans=K
can=K
grand=0
gpare=-1
stack=deque([[0,gpare]])
while(stack):
    pare,gpare=stack.pop()
    childs=G[pare]
    ans*=nCr(K-1-grand,len(childs)-grand)*fac[len(childs)-grand]
    ans%=MOD
    grand=1
    for i in childs:
        if i==gpare:
            continue
        if A[i]-1==0:
            continue
        stack.append([i,pare])
print(ans)


### FIXED CODE ###

import sys
sys.setrecursionlimit(100100)
from collections import deque
def factorials(M):#M!までのリストｘと其の逆元のリストyを返すmod INF
    INF=int(1e9+7)
    fac=[0]*(M+1)
    finv=[0]*(M+1)
    inv=[0]*(M+1)
    fac[0]=fac[1]=1
    finv[0]=finv[1]=1
    inv[1]=1
    for i in range(2,M+1):
        fac[i]=(fac[i-1]*i)%INF
        inv[i]=INF-(inv[INF%i]*(INF//i))%INF
        finv[i]=finv[i-1]*inv[i]%INF
    return fac,finv

N,K=map(int,input().split())
fac,finv=factorials(max(N,K))
def nCr(n,r):
    INF=int(1e9+7)
    if n<r or r<0 or n<0 :
        return 0
    return fac[n]*(finv[r]*finv[n-r]%INF)%INF
A=[0]*N
G=[[] for i in range(N)]
MOD=10**9+7
for i in range(N-1):
    a,b=map(int,input().split())
    a,b=a-1,b-1
    A[a]+=1
    A[b]+=1
    G[a].append(b)
    G[b].append(a)
ans=K
can=K
grand=0
gpare=-1
stack=deque([[0,gpare]])
while(stack):
    pare,gpare=stack.pop()
    childs=G[pare]
    ans*=nCr(K-1-grand,len(childs)-grand)*fac[len(childs)-grand]
    ans%=MOD
    grand=1
    for i in childs:
        if i==gpare:
            continue
        if A[i]-1==0:
            continue
        stack.append([i,pare])
print(ans)
n, k = map(int, input().split())
edges = [[] for _ in range(n)]
for _ in range(n-1):
    a, b = list(map(lambda x: int(x)-1, input().split()))
    edges[a].append(b)
    edges[b].append(a)
MOD = 10**9+7
INF = 10**10
dp = [INF]*n

def dfs(v, parent, x):
    dp[v] = x
    if parent == -1:
        next_x = k-1
    else:
        next_x = k-2
    for v2 in edges[v]:
        if v2 == parent:
            continue
        dfs(v2, v, next_x)
        next_x -= 1


dfs(0, -1, k)
ans = 1
for x in dp:
    ans = ans*x % MOD
print(ans)


### FIXED CODE ###

import sys
input = sys.stdin.readline
sys.setrecursionlimit(10**7)
n, k = map(int, input().split())
edges = [[] for _ in range(n)]
for _ in range(n-1):
    a, b = list(map(lambda x: int(x)-1, input().split()))
    edges[a].append(b)
    edges[b].append(a)
MOD = 10**9+7
INF = 10**10
dp = [INF]*n


def dfs(v, parent, x):
    dp[v] = x
    if parent == -1:
        next_x = k-1
    else:
        next_x = k-2
    for v2 in edges[v]:
        if v2 == parent:
            continue
        dfs(v2, v, next_x)
        next_x -= 1


dfs(0, -1, k)
ans = 1
for x in dp:
    ans = ans*x % MOD
print(ans)
a,b =map(float,input().split())
b=b*100

print((a*int(b)//100)

### FIXED CODE ###

from decimal import Decimal
a,b =map(Decimal,input().split())

print(int(a*b))
N, M, K = map(int, input().split())
a = list(map(int, input().split()))
b = list(map(int, input().split()))

A = [0]
B = [0]
for i in range(N):
  A.append(A[i] + a[i])
if M > 0:
  for i in range(M):
    B.append(B[i] + b[i])
  
ans = 0
j = M
for n in range(N + 1):
  while True:
    time = A[n] + B[j]
    if time <= K:
      ans = max(ans, n + j)
      break
    else:
      j -= 1
      if j < 0:
        break
print(ans)

### FIXED CODE ###

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

A = [0]
B = [0]
for i in range(N):
  A.append(A[i] + a[i])
for i in range(M):
  B.append(B[i] + b[i])
  
ans = 0
j = M
for n in range(N + 1):
  if A[n] > K:
    break
  while B[j] > K - A[n]:
      j -= 1
  ans = max(ans, n + j)
print(ans)
n = int(input())
l = []
l2 = []

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

for i in range(n-1):
    for j in range(i+1, n):
        dif1 = l[i][0] - l[j][0]
        dif2 = l[i][1] - l[j][1]
        l2.append(str(dif1) + ' ' + str(dif2))
##print(l2)

try:
    cnt = max(l2, key=l2.count)
except:
    cnt = 0
x, y = list(map(int, cnt.split()))

ans = 0

for i in range(len(l)):
    if [l[i][0] + x, l[i][1] + y] in l:
        ans += 1

print(n - ans)


### FIXED CODE ###

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

if k == 1:
    print(0)
else:
    print(n-k)
a = list()
c = 1
while True:
    n = input()
    if n == 0:
        break
    print ('case {}: {}'.format(c, n))
    c += 1


### FIXED CODE ###

c = 1
while True:
    n = int(input())
    if n == 0:
        break
    print ('Case {}: {}'.format(c, n))
    c += 1
h=input()
a=input()
H = int(h)
A= int(a)
n :int= H // A + 1
print(n)

### FIXED CODE ###

H,A =input().split()
h = int(H)
a = int(A)
if h % a == 0:
    n = h // a
else:
    n = h // a +1
print(n)
N, M, K = map(int, input().split())
a = list(map(int, input().split()))
b = list(map(int, input().split()))

A = [0]
B = [0]
for i in range(N):
  A.append(A[i] + a[i])
for i in range(M):
  B.append(B[i] + b[i])
  
ans = 0
j = M
for n in range(N + 1):
  while True:
    time = A[n] + B[j]
    if time > K:
      j -= 1
    else:
      ans = max(ans, n + j)
      break
print(ans)

### FIXED CODE ###

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

A = [0]
B = [0]
for i in range(N):
  A.append(A[i] + a[i])
for i in range(M):
  B.append(B[i] + b[i])
  
ans = 0
j = M
for n in range(N + 1):
  if A[n] > K:
    break
  while B[j] > K - A[n]:
      j -= 1
  ans = max(ans, n + j)
print(ans)
n=int(input())
s=[]
ha={}

for i in range (n):
    s.append(input())
    if (s[i] not in ha.keys()):
        ha[s[i]]=1
    else:
        ha[s[i]]=ha[s[i]]+1

ans=sorted(ha.items(),key=lambda x:x[i], reverse=True)

k=ans[0][1]
i=0
while (i< len(ans) and ans[i][1]==k):
    i+=1

ans=ans[:i]
ans.sort()
for ss in ans:
    print(ss[0])


### FIXED CODE ###

N=input()
n=int(N)

p=[]
for i in range(n):
    p.append(input())

ha = {}

for i in p :
    if (i not in ha.keys()) :
        ha[i] = 1
    else :
        ha[i] += 1

res = ha.items()

res = sorted(ha.items(), key = lambda x : x[1] , reverse = True )

i = 1
k = res[0][1]

while (i < len(res) and res[i][1] == k) :
    i += 1

res = res[ : i]

res.sort()
for i in res :
    print (i[0])
while 1:
    if H ==0 and W == 0:
        break
    else:
        H, W = map(int ,raw_input().split())

        a = ""

        for i in range(W):
            a += '#'
        for i in range(H):
            print a

### FIXED CODE ###

while 1:
    H, W = map(int ,raw_input().split())
    if H == 0 and W == 0:
        break
    else:
        print ('#'*W + '\n')*H
word = input().split()
print(word[0][1]+word[1][1]+word[2][1])

### FIXED CODE ###

word = input().split()
print(word[0][0]+word[1][0]+word[2][0])
s = input()

if s.count("a"), s.count("b"), s.count("c") == 1,1,1:
  print("YES")
else:
  print("NO")

### FIXED CODE ###

s = input()
 
if not s.count("a") == 1:
  print("No")
elif not s.count("b") == 1:
  print("No")
elif not s.count("c") == 1:
  print("No")
else:
  print("Yes")
import collections
S = input()
cnt = 0

mod = [0]
reverse_S = S[::-1]
for i in range(len(reverse_S)):
  now = int(reverse_S[i]) * pow(10,i+1,2019)
  mod.append((now + mod[i]) % 2019)

c = collections.Counter(mod)
hindo = sorted(c.values(),reverse=True)
if hindo.index(1) != 0:
  for i in range(hindo.index(1)):
    n = hindo[i]
    cnt += n*(n-1)//2
else:
  cnt = 0

print(cnt)

### FIXED CODE ###

import collections
S = input()
cnt = 0

mod = [0]
reverse_S = S[::-1]
for i in range(len(reverse_S)):
  now = int(reverse_S[i]) * pow(10,i,2019)
  mod.append((now + mod[i]) % 2019)


c = collections.Counter(mod)
hindo = c.values()
for i in hindo:
  if i != 1:
    cnt += i*(i-1)//2


print(cnt)
from itertools import combinations
N, Ma, Mb = list(map(int, input().split()))
abc = [list(map(int, input().split())) for _ in range(N)]
min_cost = -1
for _i in range(1, N+1):
    all_pattern = list(combinations(range(N), _i))
    for _j in all_pattern:
        _a = sum([abc[_k][0] for _k in _j])
        _b = sum([abc[_k][1] for _k in _j])
        _c = sum([abc[_k][2] for _k in _j])
        if _b * Ma == _a * Mb:
            if min_cost == -1 or min_cost > _c:
                min_cost = _c
print(min_cost)

### FIXED CODE ###

A, B = list(map(int, input().split()))
A = 14 if A == 1 else A
B = 14 if B == 1 else B
print('Alice' if A > B else 'Bob' if A < B else 'Draw')
a, b = map(int, input().split())

c = a*b
if a = c:
  print(1)
elif b = c:
  print(1)
elif c % 2 == 0:
  print(int(c/2))
else:
  print(int(c/2)+1)

### FIXED CODE ###

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

c = a*b
if a == c:
  print(1)
elif b == c:
  print(1)
elif c % 2 == 0:
  print(int(c/2))
else:
  print(int(c/2)+1)
N = int(input())
num = N+1price = []
for i in range (1,num):
  price.append(int(input()))
else:
  exp = max(price)//2
  total = sum(price) - exp
  print(total)

### FIXED CODE ###

N = int(input())
max_item = 0
sum_item = 0
for _ in range(N):
  c = int(input())
  sum_item += c
  max_item = max(c, max_item)

sum_item -= max_item // 2 
print(sum_item)
N, K = map(int, input().split())
lengths = list(int(input()) for i in range(N))
sorted_lengths = sorted(lengthes)
min_score = 2**100

for i in range(N-K+1):
  score = sorted_lengths[i+K-1] - sorted_lengths[i]
  min_score = min(min_score, score)

print(min_score)

### FIXED CODE ###

N, K = map(int, input().split())
lengths = list(int(input()) for i in range(N))
sorted_lengths = sorted(lengths)
min_score = 2**100

for i in range(N-K+1):
  score = sorted_lengths[i+K-1] - sorted_lengths[i]
  min_score = min(min_score, score)

print(min_score)
N = int(input())
    a_li = list(map(int,input().split()))
     
    count = 0
    for i in a_li:
        while i % 2 == 0:
            cnt += 1
            i //= 2
            if i % 2 != 0:
                break
     
    print(count)

### FIXED CODE ###

N = int(input())
a_li = list(map(int,input().split()))
         
cnt = 0
for i in a_li:
    while i % 2 == 0:
        cnt += 1
        i //= 2
        if i % 2 != 0:
            break
        
print(cnt)
n, k = list(map(int, input().split()))
nums = list(map(int, input().split()))

nums.sort()
mod = 10 ** 9 + 7

# x ** a をmodで割った余りを、O(log(a))時間で求める。
def power(x, a):
	if a == 0:
		return 1
	elif a == 1:
		return x
	elif a % 2 == 0:
		return power(x, a//2) **2 % mod
	else:
		return power(x, a//2) **2 * x % mod

# xの逆元を求める。フェルマーの小定理より、 x の逆元は x ^ (mod - 2) に等しい。計算時間はO(log(mod))程度。
# https://qiita.com/Yaruki00/items/fd1fc269ff7fe40d09a6
def modinv(x):
	return power(x, mod-2)

# 二項係数の左側の数字の最大値を max_len　とする。nとかだと他の変数と被りそうなので。
# factori_table = [1, 1, 2, 6, 24, 120, ...] 要は factori_table[n] = n!
# 計算時間はO(max_len * log(mod))

max_len = 30 #適宜変更する

factori_table = [1] * (max_len + 1)
factori_inv_table = [1] * (max_len + 1)
for i in range(1, max_len + 1):
	factori_table[i] = factori_table[i-1] * (i) % mod
	factori_inv_table[i] = modinv(factori_table[i])

def binomial_coefficients(n, k):
	# n! / (k! * (n-k)! )
	return (factori_table[n] * factori_inv_table[k] * factori_inv_table[n-k]) % mod

# print(nums)

ans = 0
for i in reversed(range(k-1, n)):
    ans += (nums[i] * binomial_coefficients(i, k-1)) % mod
#    print(nums[i] , binomial_coefficients(i, k-1))


for i in range(n-k+1):
    ans -= (nums[i] * binomial_coefficients(n-i-1, k-1)) % mod
#    print(nums[i] , binomial_coefficients(n-i-1, k-1))

print(ans % mod)


### FIXED CODE ###

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

nums.sort()
mod = 10 ** 9 + 7

# x ** a をmodで割った余りを、O(log(a))時間で求める。
def power(x, a):
	if a == 0:
		return 1
	elif a == 1:
		return x
	elif a % 2 == 0:
		return power(x, a//2) **2 % mod
	else:
		return power(x, a//2) **2 * x % mod

# xの逆元を求める。フェルマーの小定理より、 x の逆元は x ^ (mod - 2) に等しい。計算時間はO(log(mod))程度。
# https://qiita.com/Yaruki00/items/fd1fc269ff7fe40d09a6
def modinv(x):
	return power(x, mod-2)

# 二項係数の左側の数字の最大値を max_len　とする。nとかだと他の変数と被りそうなので。
# factori_table = [1, 1, 2, 6, 24, 120, ...] 要は factori_table[n] = n!
# 計算時間はO(max_len * log(mod))

max_len = n #適宜変更する

factori_table = [1] * (max_len + 1)
factori_inv_table = [1] * (max_len + 1)
for i in range(1, max_len + 1):
	factori_table[i] = factori_table[i-1] * (i) % mod
	factori_inv_table[i] = modinv(factori_table[i])

def binomial_coefficients(n, k):
	# n! / (k! * (n-k)! )
	return (factori_table[n] * factori_inv_table[k] * factori_inv_table[n-k]) % mod

# print(nums)

ans = 0
for i in reversed(range(k-1, n)):
    ans += (nums[i] * binomial_coefficients(i, k-1)) % mod
#    print(nums[i] , binomial_coefficients(i, k-1))


for i in range(n-k+1):
    ans -= (nums[i] * binomial_coefficients(n-i-1, k-1)) % mod
#    print(nums[i] , binomial_coefficients(n-i-1, k-1))

print(ans % mod)
a, b = map(int, input().split())
d = a // b
r = a % b
f = a / b
print('{0} {1} [2:0.05f}').format(d, r, f)

### FIXED CODE ###

a, b = map(int, input().split())
d = a // b
r = a % b
f = float(a / b)
print('{0} {1} {2:0.5f}'.format(d, r, f))
x,n=map(int,input().split())
Ps=list(map(int,input().split()))
numlist=[]
for i in range(101):
    numlist.append(i)
for p in Ps:
    numlist.remove(p)
import bisect
if numlist==[0]:
    if x<=51:
        print(0)
    else:
        print(101)
    quit()
a=bisect.bisect_left(numlist,x)
b=a-1
if abs(numlist[a]-x)>=abs(numlist[b]-x):
    print(numlist[b])
else:
    print(numlist[a])

### FIXED CODE ###

x,n=map(int,input().split())
Ps=list(map(int,input().split()))
numlist=[]
for i in range(102):
    numlist.append(i)
for p in Ps:
    numlist.remove(p)
import bisect
a=bisect.bisect_left(numlist,x)
b=a-1
if abs(numlist[a]-x)>=abs(numlist[b]-x):
    print(numlist[b])
else:
    print(numlist[a])
N = int(input())
t = [int(input()) for x in range(N)]

def lcm(a, b) :
    if max(a, b) % min(a, b) == 0 :
        return max(a, b)
    else :
        return a*b / gcd(a, b)
    
def gcd(a, b) :
    if max(a, b) % min(a, b) == 0:
        return min(a, b)
    else :
        return gcd(max(a, b) % min(a, b), min(a, b))
    
cur_lcm = t[0]
for i in range(1, N) :
    cur_lcm = lcm(cur_lcm, t[i])

print(int(cur_lcm))

### FIXED CODE ###

N = int(input())

'''
def mcd(a, b) :
    if (a, b) in memo.keys() :
        return memo[(a, b)]
    else :
        if max(a, b) % min(a, b) == 0 :
            return min(a, b)
        else :
            memo[(a, b)] = mcd(min(a, b), max(a, b) % min(a, b))
            return memo[(a, b)]

def lcm(a, b) :
    return int((a * b) / mcd(a, b))
'''

def gcd(x, y) :
    if y == 0 : return x
    else : return gcd(y, x % y)

h = 1

for i in range(N) :
    n = int(input())
    
    h = n * h // gcd(n, h)
    
print(h)
w,h,n=map(int,input().split())

min_x=0
min_y=0

for i in range(n):
    x,y,a=map(int,input().split())

    if a==1:
        min_x=max(min_x,x)

    elif a==2:
        w=min(w,x)

    elif a==3:
        min_y=max(min_y,y)

    elif a==4:
        h=min(h,y)

white=int((w-min_x)*(h-min_y))

if white>0:
    print(white)

else:
    print("0")


### FIXED CODE ###

nums=list(map(int,input().split()))

answer=sorted(nums,reverse=True)

if sum(answer)%2==0 and answer[0]==answer[1]+answer[2]:
	print("Yes")

else:
	print("No")
def edit_distance(s, t):
 s=raw_input()
 t=raw_input()
 dp = {}
 for i in range(len(s) + 1):
  dp[i] = {0: i}
 for j in range(len(t) + 1):
  dp[0][j] = j
 for i in range(1, len(s) + 1):
  for j in range(1, len(t) + 1):
   d = 0 if s[i-1] == t[j-1] else 1
   dp[i][j] = min(dp[i-1][j] + 1,
   dp[i][j-1] + 1,
   dp[i-1][j-1] + d)
 return dp[len(s)][len(t)]
n = input()
for p in range(n):
    print solve()

### FIXED CODE ###

def edit_distance():
 s = raw_input()
 t = raw_input()
 a = len(s)
 b = len(t)
 x = [0 for i in range(b+1)]
 for i in range(a):
   q = s[i]
   x2 = x+[]
   for j in range(b):
    if (q ==t[j]):
     x[j+1] =x2[j]+1
    elif (x[j+1]<x[j]):
     x[j+1] =x[j]
 return x[-1]

n = input()
for i2 in range(n):
 print edit_distance()
a,b,c,d=list(map(int,input().split()))
print(((b-a)**2+(c-d)**2)**.5)

### FIXED CODE ###

a,b,c,d=list(map(float,input().split()))
print('%.5f'%(((c-a)**2+(b-d)**2)**.5))