#include <bits/stdc++.h>

#include <iostream>
using namespace std;

vector<vector<vector<double>>> dp(
    110, vector<vector<double>>(110, vector<double>(110, -1)));

double query(int x, int y, int z) {
    // cout << x << " " << y << " " << z << endl;
    if (x >= 100 || y >= 100 || z >= 100) {
        return 0;
    } else if (dp[x][y][z] >= 0) {
        return dp[x][y][z];
    } else {
        double s = x + y + z;
        dp[x][y][z] = double(x) / s * (query(x + 1, y, z) + 1) +
                      double(y) / s * (query(x, y + 1, z) + 1) +
                      double(z) / s * (query(x, y, z + 1) + 1);
        return dp[x][y][z];
    }
}

int main() {
    int A, B, C;
    cin >> A >> B >> C;

    cout << setprecision(12) << query(A, B, C) << endl;

    return 0;
}
#include <bits/stdc++.h>
#define ll long long
using namespace std;
int main()
{
#define fast
#ifndef ONLINE_JUDGE
    freopen("input.txt", "r", stdin);
    freopen("output.txt", "w", stdout);
#endif
   /* ll t;
    cin >> t;
    while (t--)
    {*/
      ll a,b,c;
      cin>>a>>b>>c;
      ll x,y,z;
      x=a*a;
      y=b*b;
      z=c*c;
      if(x+y<z){
          cout<<"Yes"<<endl;
      }
      else{
          cout<<"No"<<endl;
      }
      
   // }
    return 0;
}
