#include <bits/stdc++.h>
double const PI = acos(-1);
double const EXP = exp(1);
using namespace std;
int n, m, i, j, minNM, NM;
double ans, t, lgF[1000005];
double lgCNR(int N, int R) { return lgF[N] - lgF[R] - lgF[N - R]; }
int main() {
  scanf("%d%d", &n, &m);
  NM = n * m;
  for (i = 1; i <= NM; i++) lgF[i] = lgF[i - 1] + log(i);
  minNM = min(n, m);
  for (i = 1; i <= minNM; i++) {
    t = 2 * log(i) - log(n);
    t += lgCNR(m, i);
    t += lgCNR(m * (n - 1), n - i);
    t -= lgCNR(m * n, n);
    ans += exp(t);
  }
  printf("%.9lf\n", ans);
}
