#include <bits/stdc++.h>
using namespace std;
double dp[1003][1003];
int w, b;
double dfs(int w, int b) {
  if (w == 0 && b == 0) return 0;
  if (w == 0) return 0;
  if (b == 0) return 1;
  if (dp[w][b]) return dp[w][b];
  double tmp = 1.0 * w / (w + b);
  if (b >= 2)
    tmp += 1.0 * b * (b - 1) / (w + b) / (w + b - 1) * w / (w + b - 2) *
           dfs(w - 1, b - 2);
  if (b >= 3)
    tmp += 1.0 * b * (b - 1) / (w + b) / (w + b - 1) * (b - 2) / (w + b - 2) *
           dfs(w, b - 3);
  dp[w][b] = tmp;
  return tmp;
}
int main() {
  cin >> w >> b;
  printf("%.10f", dfs(w, b));
}
