【CF 1199B】Water Lily

                                               B. Water Lily

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 HH centimeters above the water surface. Inessa grabbed the flower and sailed the distance of LL centimeters. Exactly at this point the flower touched the water surface.

【CF 1199B】Water Lily

 

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

Input

The only line contains two integers HH and LL (1≤H<L≤1061≤H<L≤106).

Output

Print a single number — the depth of the lake at point AA. The absolute or relative error should not exceed 10−610−6.

Formally, let your answer be AA, and the jury's answer be BB. Your answer is accepted if and only if |A−B|max(1,|B|)≤10−6|A−B|max(1,|B|)≤10−6.

Examples

input

1 2

output

1.5000000000000

input

3 5

output

2.6666666666667

回想起被三角函数支配的恐惧。。。

其实很简单,设水深x,莲花高度y,则可得到:

x+H=y

x^2+L^2=y^2

化简可得 x=(L^2+H^2)/(2*H)

代码:

#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define inf 0x3f3f3f3f
#define mem(a,b) memset(a,b,sizeof(a))
 
int main()
{
	double h,l;
	cin>>h>>l;
	printf("%.13lf",fabs((h*h-l*l)/(2*h)));
	return 0;
}

 

上一篇:Codeforces Round #564 (Div. 2)


下一篇:centos7安装choice from above ['q' to quit | 'c' to c