#include <bits/stdc++.h>
#define rep(i, n) for (int i = 0; i < (n); i++)
using namespace std;
typedef long long ll;

#define MAX 100
double dp[MAX+1][MAX+1][MAX+1];

int main(void){
    int a, b, c;

    cin >> a >> b >> c;

    for (int i = MAX-1; i >= 0; i--){
        for (int j = MAX-1; j >= 0; j--){
            for (int k = MAX-1; k >= 0; k--){
                double now = 0;
                if (i+j+k == 0) continue;
                now += dp[i+1][j][k] * i;
                now += dp[i][j+1][k] * j;
                now += dp[i][j][k+1] * k;
                dp[i][j][k] = now / (i + j + k) + 1;
            }
        }
    }

    printf("%.10f\n", dp[a][b][c]);

    return 0;
}
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
#define forin(in) for(ll i=0; i<(ll)in.size(); i++) cin>>in[i]
#define forout(out) for(ll i=0; i<(ll)out.size(); i++) cout<<out[i]<<endl
#define rep(i, n) for(ll i=0; i<(n); i++)
#define rep_up(i, a, n) for (ll i = a; i < n; ++i)
#define rep_down(i, a, n) for (ll i = a; i >= n; --i)
#define P pair<ll, ll>
template<class T> inline bool chmax(T& a, T b) { if (a < b) { a = b; return 1; } return 0; }
template<class T> inline bool chmin(T& a, T b) { if (a > b) { a = b; return 1; } return 0; }
#define all(v) v.begin(), v.end()
#define fi first
#define se second
#define vvvll vector<vector<vector<ll>>>
#define vvll vector<vector<ll>>
#define vll vector<ll>
#define pqll priority_queue<ll>
#define pqllg priority_queue<ll, vector<ll>, greater<ll>>
constexpr ll INF = (1ll << 60);
constexpr ll mod = 1000000007;

double v[110][110][110];
//func(a,b,c):v[a][b][c]を返す
double func(int a,int b,int c) {
    if(a >= 100||b >= 100||c >= 100) return 0.0;
    if(v[a][b][c] > -1) return v[a][b][c];

    double ans = 0;
    ans += (double)(a) / (a+b+c)*(func(a+1,b,c) + 1);
    ans += (double)(b) / (a+b+c)*(func(a,b+1,c) + 1);
    ans += (double)(c) / (a+b+c)*(func(a,b,c+1) + 1);
    v[a][b][c] = ans;
    return v[a][b][c];
}

int main() {
    int a, b, c; cin >> a >> b >> c;
    memset(v, -1, sizeof(v));
    cout << fixed << setprecision(10) << func(a,b,c) << endl;
}

