#include <iostream>
#include <cstdio>
#include <algorithm>
#include <vector>
#include <stack>
#include <cmath>

#define repi(n) for (int i=0;i<n;i++)
#define repj(n) for (int j=0;j<n;j++)
#define repk(n) for (int k=0;k<n;k++)
#define pb(x) push_back(x)
#define pause() system("pause");
#define MAXN 1000000

using namespace std;

double a,b,c;
double By,Cy,Dy;
double S;
void init() {
     cin >> a >> b >> c;
}

void solve() {
        By=sqrt(((a*a*a*c)+(a*a*b*c)-(a*a*a*a)-(a*a*a*b))/((a*a)+(a*b)-(b*c)-(a*c)));
        Cy=-(((a*a)+(a*b))/(By));
        Dy=(((By*By)-(a*b)-(a*c))/(By));
        S=(((a*a)+(By*By))*(((b+c)*(b+c))+((Dy-By)*(Dy-By))));
        printf("%.4f",S);
        }

int main() {
    init();
    solve();
return 0;
}
