#include <bits/stdc++.h>
using namespace std;
#pragma comment(linker, "/stack:200000000")
#pragma GCC optimize("Ofast")
#pragma GCC target("sse,sse2,sse3,ssse3,sse4,popcnt,abm,mmx,avx,tune=native")
double dp[1010][1010][2];
int main() {
  ios::sync_with_stdio(false);
  cin.tie(NULL);
  cout.tie(NULL);
  int w, b;
  cin >> w >> b;
  double prob = 0;
  dp[w][b][0] = 1;
  for (long long i = (w); i >= (0); --i)
    for (long long j = (b); j >= (0); --j) {
      if (i) prob += dp[i][j][0] * (double(i) / double(i + j));
      if (j >= 1) dp[i][j - 1][1] += dp[i][j][0] * (double(j) / double(i + j));
      if (i >= 1)
        dp[i - 1][j - 1][0] += dp[i][j][1] * (double(i) / double(i + j)) *
                               (double(j) / double(i + j - 1));
      if (j >= 2)
        dp[i][j - 2][0] += dp[i][j][1] * (double(j) / double(i + j)) *
                           (double(j - 1) / double(i + j - 1));
    }
  cout << setprecision(20) << prob << '\n';
  return 0;
}
