#include <bits/stdc++.h>
using namespace std;
signed main() {
  ios::sync_with_stdio(0);
  cin.tie(0);
  int w, b;
  cin >> w >> b;
  if (w == 0) {
    cout << 0;
    return 0;
  }
  double dp[w + 1][b + 1];
  for (int j = 0; j <= b; j++) dp[0][j] = 0;
  for (int i = 1; i <= w; i++) dp[i][0] = 1;
  for (int i = 1; i <= w; i++) {
    for (int j = 1; j <= b; j++) {
      double pw = (double)i / (i + j);
      double pb = 1 - pw;
      double pbpb = pb * (double)(j - 1) / (i + j - 1);
      double pbpbpw = pbpb * (double)i / (i + j - 2);
      double pbpbpb = j > 2 ? pbpb * (double)(j - 2) / (i + j - 2) : 0;
      dp[i][j] = pw;
      if (j - 2 >= 0) dp[i][j] += pbpbpw * dp[i - 1][j - 2];
      if (j - 3 >= 0) dp[i][j] += pbpbpb * dp[i][j - 3];
    }
  }
  cout << setprecision(15) << dp[w][b];
  return 0;
}
