#include<iostream>
#include<cstdio>
#include<cmath>
#include<algorithm>
using namespace std;
const double EPS=1e-9;
//const double PI=3.14;
#define EQ(a,b) (fabs(a-b)<EPS)
double p,q,r,a1,b1,ans1;
double ans2,x,a,b,c,ab,bd,ac,cd,d,d1,h,g,t,cur,alpha,beta;
bool fl;

int main()
{
  scanf("%lf%lf%lf",& p,& q,& r);

  a1=p;b1=p+q;
  ans1=(p*p+a1*a1)*( (p+q)*(p+q)+b1*b1 );
  ans1=sqrt(ans1);

  fl=false;
  ans2=300000000.0;
  for(c=1.0;c<=10000.0;c+=1.0)
  {
    for(b=c+1.0;b<=10000.0;b+=1.0)
    {
      a=(b-c)*(b-c)+r*r-p*p;
      x=sqrt(a);

      ab=p*p+a;
      cd=(b-c)*(b-c)+r*r;
      ac=(p+q)*(p+q)+b*b;
      bd=(r+q)*(r+q)+(x+c)*(x+c);
      d=ab+bd;d1=cd+ac;
      alpha=atan2(b,(p+q));
      beta=atan2(x,p);
      alpha=alpha*180.0/M_PI;
      beta=beta*180.0/M_PI;
      if (EQ(ab,cd) && EQ(ac,bd) && EQ(alpha+beta,90))
      {

        cur=(p*p+a)*( (p+q)*(p+q)+b*b );
        cur=sqrt(cur);

        if (cur < ans2)
        {
          ans2=cur;
          h=a;
          g=b;t=c;
        }
        fl=true;
        break;
      }

    }
    if (fl) break;
  }
  //printf("%lf %lf %lf\n", h, g, t);
  if (ans1 < ans2) printf("%.4lf\n", ans1);
  else printf("%.4lf\n", ans2);
return 0;
}
