#include <bits/stdc++.h>
#define rep(i,n) for(int i=0; i<(int)(n); i++)

using namespace std;
using LL = long long;
using P = pair<int,int>;

double dp[110][110][110];

int main(){
	vector<int> A(3);
	rep(i,3) cin >> A[i];
	dp[A[0]][A[1]][A[2]] = 1.0;
	rep(i,100){
		rep(j,100){
			rep(k,100){
				if(i + j + k == 0) continue;
				double a = i, b = j, c = k;
				double s = a + b + c;
				dp[i+1][j][k] += dp[i][j][k] * (a / s);
				dp[i][j+1][k] += dp[i][j][k] * (b / s);
				dp[i][j][k+1] += dp[i][j][k] * (c / s);
			}
		}
	}
	double ans = 0;
	int S = A[0] + A[1] + A[2];
	rep(j,100){
		rep(k,100){
			if(j < A[1] or k < A[2]) continue;
			double num = 100.0 + j + k - S;
			ans += num * dp[100][j][k];
		}
	}
	rep(j,100){
		rep(k,100){
			if(j < A[0] or k < A[2]) continue;
			double num = 100.0 + j + k - S;
			ans += num * dp[j][100][k];
		}
	}
	rep(j,100){
		rep(k,100){
			if(j < A[0] or k < A[1]) continue;
			double num = 100.0 + j + k - S;
			ans += num * dp[j][k][100];
		}
	}
	cout << setprecision(15) << ans << endl;

	return 0;
}
#include <bits/stdc++.h>

using namespace std;

const int n = 100;
double dp[n + 1][n + 1][n + 1];

int main() {
  ios_base::sync_with_stdio(false);
  
  for (int i = n - 1; i >= 0; i--) {
    for (int j = n - 1; j >= 0; j--) {
      for (int k = n - 1; k >= 0; k--) {
        int s = i + j + k;
        if (s > 0) {
          dp[i][j][k] += (1 + dp[i + 1][j][k]) * i / s;
          dp[i][j][k] += (1 + dp[i][j + 1][k]) * j / s;
          dp[i][j][k] += (1 + dp[i][j][k + 1]) * k / s;
        }
      }
    }
  }

  int a, b, c;
  cin >> a >> b >> c;
  cout << fixed << setprecision(10) << dp[a][b][c] << '\n';

  return 0;
}
