#include<iostream>
#include<iomanip>
#include<cmath>
using namespace std;

double calcSurfaceArea( double a, double b, double c )
{
    double cosA = ( b * b + c * c - a * a ) / ( 2 * b * c );
    double sinA = sqrt( 1 - cosA * cosA );
    return 0.5 * c * b * sinA;
}

int main()
{
    int a, l, x;

    while( cin >> a >> l >> x )
    {
        double max = 0;
        for( double i = 0.01; i < l + x; i += 0.01 )
        {
            double s = calcSurfaceArea( i, l, l + x - i );
            if( s > max )
                max = s;
        }
        cout << fixed << setprecision(10) << max + max + calcSurfaceArea( a, l, l ) << endl;
    }

    return 0;
}
