#include <bits/stdc++.h>
using namespace std;
int w, b;
double dp[1010][1010];
double ans;
double p(double x, double y) { return x + y == 0 ? 0 : x / (x + y); }
int main() {
  scanf("%d%d", &w, &b);
  if (!w && !b) {
    puts("0.00000000000");
    return 0;
  }
  dp[0][0] = 1;
  int lw, lb;
  for (int i = 0; i <= b; ++i)
    for (int j = 0; j <= w; ++j) {
      if (!dp[i][j]) continue;
      lb = b - i;
      lw = w - j;
      ans += dp[i][j] * p(lw, lb);
      if (i + 2 <= b && j + 1 <= w)
        dp[i + 2][j + 1] +=
            dp[i][j] * p(lb, lw) * p(lb - 1, lw) * p(lw, lb - 2);
      if (i + 3 <= b)
        dp[i + 3][j] += dp[i][j] * p(lb, lw) * p(lb - 1, lw) * p(lb - 2, lw);
    }
  printf("%.11lf\n", ans);
  return 0;
}
