#include <bits/stdc++.h>
using namespace std;
const int N = 1e3 + 5;
int w, b;
double f[N][N];
double dfs(int i, int j) {
  if (f[i][j] != 0) return f[i][j];
  if (!i) return 0;
  if (!j) return f[i][j] = 1;
  if (j == 1) return f[i][j] = (double)i / (i + j);
  f[i][j] = (double)i / (i + j);
  f[i][j] += (double)j / (i + j) * (j - 1) / (i + j - 1) * i / (i + j - 2) *
             dfs(i - 1, j - 2);
  if (j > 2)
    f[i][j] += (double)j / (i + j) * (j - 1) / (i + j - 1) * (j - 2) /
               (i + j - 2) * dfs(i, j - 3);
  return f[i][j];
}
int main() {
  scanf("%d%d", &w, &b);
  printf("%.9f\n", dfs(w, b));
  return 0;
}
