#include <bits/stdc++.h>
using namespace std;
int w, b;
double dp[1010][1010];
int main() {
  scanf("%d%d", &w, &b);
  for (int i = (1); i <= (b); i++) {
    dp[0][i] = 0;
  }
  for (int i = (1); i <= (w); i++) {
    dp[i][0] = 1.0;
  }
  for (int i = (1); i <= (w); i++) {
    for (int j = (1); j <= (b); j++) {
      dp[i][j] = 1.0 * i / (i + j);
      if (j >= 3)
        dp[i][j] += j * 1.0 / (i + j) * (j - 1) * 1.0 / (i + j - 1) * (j - 2) *
                    1.0 / (i + j - 2) * dp[i][j - 3];
      if (j >= 2)
        dp[i][j] += j * 1.0 / (i + j) * (j - 1) * 1.0 / (i + j - 1) * i * 1.0 /
                    (i + j - 2) * dp[i - 1][j - 2];
    }
  }
  printf("%.9lf", dp[w][b]);
  return 0;
}
