#include<bits/stdc++.h>
using namespace std;
 
#define REP(i,s,n) for(int i=s;i<n;++i)
#define rep(i,n) REP(i,0,n)
#define SORT(c) sort((c).begin(),(c).end())
#define IINF INT_MAX
#define LLINF LLONG_MAX
#define DEBUG false
 
typedef long long ll;
typedef pair<int, int> ii;

int main() {
	
	int a, l, x;
	while(cin >> a >> l >> x){
		double ans = 0;
		double s = (a + l + l) / 2.0;
		ans += sqrt(s * (s-a) * (s-l) * (s-l));
		s = (4 * l + x + x) / 4.0;
		ans += (2 * sqrt(s * (s-l) * (s-((l + x)/2.0)) * (s-((l + x)/2.0)) ) );

		printf("%.6lf\n", ans);
	}

	return 0;
}