#include <bits/stdc++.h>
using namespace std;
double dp[1003][1003];
int main() {
  cin.tie(0);
  ios_base::sync_with_stdio(0);
  int W, B;
  cin >> W >> B;
  dp[W][B] = 1;
  double sol = 0;
  for (int i = W; i >= 0; i--) {
    for (int j = B; j >= 0; j--) {
      int fuera = W + B - i - j;
      if (i + j == 0) continue;
      if (!dp[i][j]) continue;
      double pw = i / double(i + j), pb = j / (double)(i + j);
      if (fuera % 3 == 0) {
        if (i) sol += dp[i][j] * pw;
        if (j) dp[i][j - 1] += dp[i][j] * pb;
      }
      if (fuera % 3 == 1) {
        if (j) dp[i][j - 1] += dp[i][j] * pb;
      }
      if (fuera % 3 == 2) {
        if (i) dp[i - 1][j] += dp[i][j] * pw;
        if (j) dp[i][j - 1] += dp[i][j] * pb;
      }
    }
  }
  cout << fixed << setprecision(9) << sol;
  return 0;
}
