#include <bits/stdc++.h>

using namespace std;

#define int long long
#define double long double

#define vi vector<int>
#define pii pair<int,int>
#define si set<int>
#define mii map<int,int>

#define F first
#define S second

#define pb push_back
#define pf push_front
#define pob pop_back
#define pof pop_front
#define eb emplace_back
#define ef emplace_front

const int INF=2147483647;
const int MOD=1000000007;
const int mod=998244353;
const double eps=1e-12;

int a,b,c;
double prob[102][102][102];
double res;

signed main(){

    ios_base::sync_with_stdio(false);
    cin.tie(0);
    cout.tie(0);

    cin>>a>>b>>c;

    prob[a][b][c]=1;

    for(int i=a;i<=100;i++){
        for(int j=b;j<=100;j++){
            for(int k=c;k<=100;k++){

                if( (i==100 and j!=100 and k!=100) or (i!=100 and j==100 and k!=100) or (i!=100 and j!=100 and k==100) ) continue;

                prob[i][j][k+1]+=prob[i][j][k]*(double)k/(i+j+k);
                prob[i][j+1][k]+=prob[i][j][k]*(double)j/(i+j+k);
                prob[i+1][j][k]+=prob[i][j][k]*(double)i/(i+j+k);

            }
        }
    }

    for(int i=0;i<=100;i++){
        for(int j=0;j<=100;j++){
            for(int k=0;k<=100;k++){
                if( (i==100 and j!=100 and k!=100) or (i!=100 and j==100 and k!=100) or (i!=100 and j!=100 and k==100) ){
                    res+=prob[i][j][k]*((double)i+j+k-a-b-c);
                }
            }
        }
    }

    cout<<fixed<<setprecision(10)<<res<<endl;

    /***debug***
    for(int i=a;i<=100;i++){
        for(int j=b;j<=100;j++){
            for(int k=c;k<=100;k++){
                cout<<fixed<<setprecision(10)<<prob[i][j][k]<<" ";
            }
            cout<<endl;
        }
        cout<<endl;
    }
    cout<<endl;
    ***debug***/

    return 0;

}

#include<bits/stdc++.h>
using namespace std;

map<string,double> dp;
double solve(int a,int b,int c) {
	if(a==100 or b==100 or c==100) 
		return 0;
	string key=to_string(a)+" "+to_string(b)+" "+to_string(c);
	if(dp.find(key)!=dp.end()) 
		return dp[key];
	double p=((solve(a+1,b,c)+1)*a)/(a+b+c);
	double q=((solve(a,b+1,c)+1)*b*1.0)/(a+b+c);
	double r=((solve(a,b,c+1)+1)*c*1.0)/(a+b+c);
	return dp[key]=p+q+r;
}


signed main(){
	int a,b,c;
	cin>>a>>b>>c;
	printf("%0.9lf",solve(a,b,c));
	return 0;
}



