//#define LOCAL

#include <fstream>
#include <iostream>
#include <cmath>
#include <algorithm>
#include <string>

#define rep(i,n) for(int i=0; i<n; i++)

using namespace std;



int main()
{
#ifdef LOCAL
    ifstream in("input.txt");
    cin.rdbuf(in.rdbuf());
#endif

    int a, l, x;
    while (cin >> a >> l >> x) {
        double S = a * sqrt(l * l - a * a / 4.0) / 2.0;
        double S2 = l * sqrt(((l + x) * (l + x) - l * l) / 4.0);
        printf("%.10lf\n", S + S2);
    }
}