#include<iostream>
#include<cstdio>
#include<cmath>
#define ull unsigned long long
using namespace std;

double a,b,c;
double ans=1e15;

double check(double x)
{
    return (a*a+x*x)*(a+b)/x;
}

void bin_search()
{
    ull l=1,r=1000000000000000LL,mid,mid1,mid2,mid3;
    double a1,a2,a3,al,ar;
    while(l<=r)
    {
        mid=(l+r)/2;
        mid1=(l+mid)/2;
        mid2=(mid+1+mid1)/2;
        a1=(double)mid/(double)(1e9);
        a2=(double)mid1/(double)(1e9);
        a3=(double)mid2/(double)(1e9);
        al=(double)l/(double)(1e9);
        ar=(double)r/(double)(1e9);
        if(check(a1)-check(a3)>1e-12&&check(a2)-check(a3)>1e-12)
        {
            ans=min(ans,min(check(a1),check(a2)));
            l=mid1+1;
            r=mid-1;
        }
        else if(check(a3)-check(a1)>1e-12)
        {
            if(check(a1-(1e-9))-check(a1)>1e-12)
            {
                ans=min(ans,min(check(a1),check(ar)));
                l=mid+1;
                r--;
            }
            else
            {
                ans=min(ans,min(check(a1),check(a3)));
                l=mid2+1;
                r=mid-1;
            }
        }
        else
        {
            if(check(a2-(1e-9))-check(a2)>1e-12)
            {
                ans=min(ans,min(check(a2),check(a3)));
                l=mid1+1;
                r=mid2-1;
            }
            else
            {
                ans=min(ans,min(check(a2),check(al)));
                l++;
                r=mid1-1;
            }
        }
    }
}

int main()
{
    scanf("%lf%lf%lf",&a,&b,&c);
    if(fabs(a-c)>1e-3){printf("0\n");return 0;}
    bin_search();
    printf("%.4lf\n",ans);
}
