// AOJ 1091
#include <iostream>
#include <cmath>
#include <cstdio>
#include <cstring>

using namespace std;

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

	while (scanf("%lf %lf %lf", &a, &l, &x) != EOF){

		double s = 0, ret = 0;

		s = (a + l + l) / 2.0;
		ret += sqrt(s * (s - a) * (s - l) * (s - l));

		s = (l + l + x) / 2.0;
		ret += (sqrt(s * (s - l) * (s - ((l + x) / 2.0)) * (s - ((l + x) / 2.0))) * 2.0);

		printf("%.08lf\n", ret);
	}

	return 0;
}