Triangle

Time Limit: 1 Second    Memory Limit: 32768 KB
Special Judge

We know lengths of three segments. It is required to, if it is possible, construct a triangle, in which one of the segments would be its altitude, one its bisector and one its median built from one apex. Place the area of the triangle in the output file.

If constructing a triangle is impossible, place a -1 (minus 1) in the output file. If the triangle is not unique, place a 0 (zero) in the output file.

The precision of the result must be 0.001.

Lengths of the segments satisfy to restrictions: 0.01 < L < 100.

Input

The input file contains three positive numbers - the lengths of the segments. The numbers are separated by one of more spaces.

Process to the end of file.

Output

The output file must contain one number - the area of the triangle sought for. If the required triangle doesn't exist, place a -1 (minus 1). If the solution is not unique, place a 0 (zero).

Sample Input

4.349 4.0 5.0
3.1 3.1 3.1

Sample Output

16.000
0
Submit