#include <bits/stdc++.h>
using namespace std;
map<pair<int, int>, long double> f;
long double rec(int w, int b) {
  if (w <= 0) return 0;
  if (b <= 0) return 1;
  pair<int, int> t = make_pair(w, b);
  if (f.find(t) != f.end()) return f[t];
  long double p = (long double)w / (w + b), q = (long double)b / (w + b);
  b--;
  q *= (long double)b / (w + b);
  b--;
  if (q >= 1E-13) {
    long double x = rec(w, b - 1) * ((long double)b / (w + b)),
                y = rec(w - 1, b) * ((long double)w / (w + b));
    p += q * (x + y);
  }
  f[t] = p;
  return p;
}
int main() {
  int w, b;
  scanf("%d%d", &w, &b);
  printf("%.9Lf", rec(w, b));
}
