#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;
double minS=2<<20;
void init() {
     cin >> a >> b >> c;
}

void solve() {
        for (By=0.0;By<=10000;By+=0.0035) {
            Cy=-((a*a)+(a*b))/By;
            Dy=(((By*By)-(a*b)-(a*c))/(By));
            S=(sqrt((a*a)+(By*By))*sqrt(((b+c)*(b+c))+((Dy-By)*(Dy-By))));
            if (S<minS) minS=S;
        }
        printf("%.4f\n",minS);
}

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