#include <bits/stdc++.h>
using namespace std;
inline int read() {
  int res = 0, f = 1;
  char ch;
  while (!isdigit(ch = getchar()))
    if (ch == '-') f = -1;
  do {
    res = res * 10 + ch - '0';
  } while (isdigit(ch = getchar()));
  return res * f;
}
double dp[1005][1005];
int main() {
  int w = read(), b = read();
  for (register int i = 1; i <= w; ++i)
    dp[i][0] = 1.0, dp[i][1] = 1.0 * i / (i + 1);
  for (register int i = 1; i <= w; ++i) {
    for (register int j = 2; j <= b; ++j) {
      dp[i][j] = 1.0 * i / (i + j);
      dp[i][j] += 1.0 * j / (i + j) * (j - 1) / (i + j - 1) * i / (i + j - 2) *
                  dp[i - 1][j - 2];
      if (j ^ 2)
        dp[i][j] += 1.0 * j / (i + j) * (j - 1) / (i + j - 1) * (j - 2) /
                    (i + j - 2) * dp[i][j - 3];
    }
  }
  printf("%.9lf", dp[w][b]);
  return 0;
}
