#include <bits/stdc++.h>
using namespace std;
double dp[1001][1001][2];
double sol(int b, int w, bool prin) {
  if (dp[b][w][prin] >= 0) {
    return dp[b][w][prin];
  }
  if (w <= 0 || (b + w <= 2 && !prin) || (b <= 0 && !prin)) return 0;
  if (b <= 0 && prin) return 1;
  if (prin) {
    return dp[b][w][prin] =
               (w * 1.0) / (w + b) + (b * 1.0) / (w + b) * sol(b - 1, w, !prin);
  } else {
    return dp[b][w][prin] = ((b * 1.0) / (w + b)) * sol(b - 1, w - 1, !prin) *
                                ((w * 1.0) / (b + w - 1)) +
                            ((b * 1.0) / (w + b)) * sol(b - 2, w, !prin) *
                                (((b - 1) * 1.0) / (b + w - 1));
  }
}
int main() {
  int b, w;
  cin >> w >> b;
  bool prin = 1;
  memset(dp, -1, sizeof(dp));
  printf("%.9lf", sol(b, w, prin));
  cout << endl;
  return 0;
}
