#include <bits/stdc++.h>
using namespace std;
double DP[1010][1010];
int N, M, UP;
int main() {
  cin >> N >> M;
  UP = min(N, M);
  DP[1][1] = 1.0;
  for (int i = 2; i <= N; ++i)
    for (int j = 0; j <= UP; ++j) {
      DP[i][j] += DP[i - 1][j] * (1.0 - (double(M - j)) / (N * M - (i - 1)));
      if (j > 0)
        DP[i][j] +=
            DP[i - 1][j - 1] * ((double(M - (j - 1))) / (N * M - (i - 1)));
    }
  double ans = 0;
  for (int i = 1; i <= UP; ++i) ans += DP[N][i] * (double(i) / N);
  printf("%.9lf\n", ans);
  return 0;
}
