Problem:
KND is So Sexy

Problem

KND君は会津大学に在籍する学生プログラマである。彼の胸元はとてもセクシーなことで知られている。

簡単のために胸元から見える肌の部分を図にある二等辺三角形ABCで表す。しかし服にはたるみが生じているため、長さが等しい2辺AC,BC(これらの長さをlとする)には実際にはさらに長さx分余裕がある。はだける部分の面積を増やすため、たるんだ分を引っ張ることで新たにふたつの三角形ADC,BECを作ることにしよう。点D,Eは三角形ABCの外側に存在する。この新しいふたつの三角形はたるみによって生じるもので、辺BEと辺ECの長さの和および辺ADと辺DCの長さの和はl+xでなければならない。あなたはこれら3つの三角形の面積の和Mが最大になるように点D,Eを決める。KND君の隣人であるあなたは彼の胸元がどれ程セクシーなのかを調べるために、a,l,xを入力として服からのぞく肌の最大の面積(M)を計算するプログラムを作成することにした。

Input

入力は複数のテストケースからなる。
ひとつのテストケースは以下の形式で与えられる。
入力の終わりをEOFで示す。

a l x

ここで、

a:三角形ABCの辺ABの長さ

l:三角形ABCの2辺AC,BCの長さ

x:2辺AC,BCにあるたるみ

である。

Constraints

入力は以下の条件を満たす。

入力はすべて整数。

1 ≤ a ≤ 1000

1 ≤ l ≤ 1000

1 ≤ x ≤ 1000

Output

各テストケースにつき最大の面積を1行に出力せよ。この値はジャッジ出力の値と10-5より大きい差を持ってはならない。

Sample Input

2 2 1
2 3 1
3 2 3
2 3 5

Sample Output

3.9681187851
6.7970540913
6.5668891783
13.9527248554

Solution in Python (judge verdict: Accepted)

import math
while True:
    try:
        a,l,x=map(int,raw_input().split())
    except EOFError:
        break
    ADC=math.sqrt(pow((l+x)/2.0,2)-pow(l/2.0,2))*l/2
    ABC=math.sqrt(pow(l,2)-pow(a/2.0,2))*a/2
    print ABC+2*ADC