#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() {
        double a3c=(a*a*a*c);
        double a2bc=(a*a*b*c);
        double a4=(a*a*a*a);
        double a3b=(a*a*a*b);
        double a2=(a*a);
        double ab=(a*b);
        double bc=(b*c);
        double ac=(a*c);
        double B1=(a3c+a2bc-a4-a3b);
        double B2=(a2+ab-bc-ac);
        double B3=B1/B2;
        int flag=0;
        if (B3<0) {flag=1; B3*=-1.0;};
        By=sqrt(B3);
        if (flag==1) By*=-1.0;
        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;
}
