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

double dp[101][101][101];
bool vis[101][101][101];
double func(int a,int b,int c){
         if(a==100 || b==100 || c==100)
            return 0;
         if(vis[a][b][c]==1)
            return dp[a][b][c];
         vis[a][b][c]=1;
         int cnt=a+b+c;
         double ans=0;
         if(a>0)
         ans+=(1+func(a+1,b,c)*1.0)*a/cnt;
         if(b>0)
         ans+=(1+func(a,b+1,c)*1.0)*b/cnt;
         if(c>0)
         ans+=(1+func(a,b,c+1)*1.0)*c/cnt;
         return dp[a][b][c]=ans;
}
int main()
{
    int a,b,c;
    cin>>a>>b>>c;
    memset(vis,0,sizeof(vis));
    cout<<setprecision(10)<<func(a,b,c)<<endl;

}

#include<iostream>
#include<cmath>
using namespace std;

int main() {
    long long x, y, a, b;
    cin >> x >> y >> a >> b;
    long long now = 0;
    long long tar = b / (a - 1);
    while (x < tar && x * a < y) {
        x *= a;
        now++;
    }
    if (y - x - 1 > 0)
        now += (y - x - 1) / b;
    cout << now;
    return 0;
}