http://codeforces.com/problemset/problem/148/D
#include<cstdio>
#include<cstring>
#include<iostream>
using namespace std;
double dp[1005][1005][2];
int main(){
int w,b;
cin >> w >> b;
for(int i = 0;i <= w;i++){
for(int j = 0;j <= b;j++){
if(i) dp[i][j][0] = i*1.0/(i+j);
if(j) dp[i][j][0] += j*1.0/(i+j)*dp[i][j-1][1];
if(i>=1&&j>=1) dp[i][j][1] += j*1.0/(i+j)*i*1.0/(i+j-1)*dp[i-1][j-1][0];
if(j >= 2) dp[i][j][1] += j*1.0/(i+j)*(j-1)*1.0/(i+j-1)*dp[i][j-2][0];
}
}
printf("%.9lf\n",dp[w][b][0]);
return 0;
}