CodeforcesJun 01, 2025

Water Lily

Hazrat Ali

Codeforces

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.

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 (1H<L1061≤H<L≤106).

Output

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

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

Examples
Input
1 2
Output
1.5000000000000
Input
3 5
Output
2.6666666666667


Solution

#include <bits/stdc++.h>
using namespace std;

int main()
{
    ios::sync_with_stdio(false);
    cin.tie(nullptr);
    double h, l;
    cin >> h >> l;
    double ans = (l * l - h * h) / (2 * h);
    cout << fixed << setprecision(10);
    cout << ans << endl;
    return 0;
}



Comments