While sailing on a boat, Inessa noticed a beautiful water lily flower above the lake's surface. She came closer and it turned out that the lily was exactly $H$ centimeters above the water surface. Inessa grabbed the flower and sailed the distance of $L$ centimeters. Exactly at this point the flower touched the water surface. [Image] 

Suppose that the lily grows at some point $A$ on the lake bottom, and its stem is always a straight segment with one endpoint at point $A$. Also suppose that initially the flower was exactly above the point $A$, i.e. its stem was vertical. Can you determine the depth of the lake at point $A$?


-----Input-----

The only line contains two integers $H$ and $L$ ($1 \le H < L \le 10^{6}$).


-----Output-----

Print a single number — the depth of the lake at point $A$. The absolute or relative error should not exceed $10^{-6}$.

Formally, let your answer be $A$, and the jury's answer be $B$. Your answer is accepted if and only if $\frac{|A - B|}{\max{(1, |B|)}} \le 10^{-6}$.


-----Examples-----
Input
1 2

Output
1.5000000000000

Input
3 5

Output
2.6666666666667

Difficulty: interview

Starter code:

Solutions:
h,l=map(int,input().split())
print((l**2-h**2)/2/h)

H, L = list(map(int, input().split(' ')))
out = (L**2-H**2)/(2*H*1.0)
print('{0:.13f}'.format(out))


# @author 

import sys

class BWaterLily:
    def solve(self):
        h, l = [int(_) for _ in input().split()]
        print((l ** 2 - h ** 2) / (2 * h))

solver = BWaterLily()
input = sys.stdin.readline

solver.solve()


h,l=map(int,input().split())
print((h*h+l*l)/2/h-h)

h,l=map(int, input().split())
ans = (l**2 - h**2)/(2*h)
print("%.10f" % ans)

H, L = [int(i) for i in input().split()]

num = L*L - H*H

den = 2*H

print(num/den)


# TAIWAN NUMBER ONE!!!!!!!!!!!!!!!!!!!
# TAIWAN NUMBER ONE!!!!!!!!!!!!!!!!!!!
# TAIWAN NUMBER ONE!!!!!!!!!!!!!!!!!!!
from sys import stdin, stdout


#N = int(input())
#s = input()
H,L = [int(x) for x in stdin.readline().split()]

ans = (float) (L*L - H*H)/(2*H)
print(ans)


    


h,l=list(map(int,input().split()))
ans=(l*l-(h*h))/(2*h)
print(ans)


h, l = list(map(int, input().split()))

print((h ** 2 + l ** 2) / 2 / h - h)


ints=[int(x) for x in input().split()]
H=ints[0]
L=ints[1]
m=(L**2-H**2)
ans=m/(2*H)
print(ans)

import sys
input = sys.stdin.readline
sys.setrecursionlimit(100000)

def getN():
    return int(input())
def getList():
    return list(map(int, input().split()))
import math
from bisect import bisect_left

a, b = getList()
ans = (b**2 - a**2) / (2*a)

print(ans)

H, L = list(map(int, input().split()))
print((L ** 2 - H ** 2) / (2 * H))



h, l = list(map(int, input().split()))
print( (l**2 - h**2)/2/h)


h, l = map(int,input().split())
ans = (l**2 - h**2)/(2*h)
print(ans)

h,l=list(map(int,input().split()))
ans=pow(l,2)-pow(h,2)
print(abs(ans/(2*h)))


h, l = list(map( float, input().split() ))
print( ( l * l - h * h ) / ( 2 * h ) )


h,l=list(map(int,input().split()))
print((l**2 - h**2)/(2*h))








#x+h = sqrt(x2 + l2)
#h2 + 2xh = l2
#2xh = l2 - h2
#x = (l2 - h2) / 2h



h, l = list(map(float, input().split()))
print((l**2 - h ** 2) / (2 * h))