#include<bits/stdc++.h>
#define N 101
int a,b,c,vis[N][N][N];
double f[N][N][N];
inline double F(int x,int y,int z){
	if(x>99||y>99||z>99)return 0;
	if(vis[x][y][z])return f[x][y][z];vis[x][y][z]=1;
	return f[x][y][z]=(F(x+1,y,z)*x+F(x,y+1,z)*y+F(x,y,z+1)*z)/(x+y+z)+1;
}
signed main(void){
	int a,b,c;scanf("%d%d%d",&a,&b,&c);printf("%.10lf\n",F(a,b,c));
	return 0;
}

#include<bits/stdc++.h>
using namespace std;
int main(){
	int a, b, x, y;
  cin >> a >> b >> x >> y;
   int y_ = min(2*x, y);
   cout << abs(2*a-1-2*b) / 2 * y_ + (abs(2*a-1-2*b)%2 == 0 ? 0 : x) << endl;
	return 0;
}