#include <bits/stdc++.h>
using namespace std;
int w, b;
double dp[1001][1001];
int main(int argc, char *argv[]) {
  while (scanf("%d%d", &w, &b) != EOF) {
    memset(dp, 0, sizeof(dp));
    for (int i = 0; i <= w; ++i) {
      for (int j = 0; j <= b; ++j) {
        if (i + j && i) {
          dp[i][j] = 1.0 * i / (i + j);
          if (j >= 1) {
            double p = 1.0 * j / (i + j);
            if (j >= 2)
              dp[i][j] += p * (j - 1) / (i + j - 1) * i / (i + j - 2) *
                          dp[i - 1][j - 2];
            if (j >= 3)
              dp[i][j] += p * (j - 1) / (i + j - 1) * (j - 2) / (i + j - 2) *
                          dp[i][j - 3];
          }
        }
      }
    }
    printf("%.9lf\n", dp[w][b]);
  }
  return 0;
}
