#include <bits/stdc++.h>
using namespace std;
int N, M;
double logF[1000 * 1000 + 1];
double log_mCn(int m, int n) { return logF[m] - logF[n] - logF[m - n]; }
int main() {
  cin.sync_with_stdio(false);
  cin >> N >> M;
  logF[0] = 0.0;
  for (int i = 1; i <= N * M; ++i) logF[i] = log((double)i) + logF[i - 1];
  double ans = 0.0;
  for (int i = 1; i <= min(M, N); ++i) {
    double x = (double)i / (double)N;
    double y = log_mCn(M, i) + log_mCn(M * (N - 1), N - i) - log_mCn(M * N, N);
    ans += exp(y) * x * x;
  }
  ans *= N;
  cout << setprecision(10) << fixed << ans << endl;
  return 0;
}
