#include <iostream>
#include <string>
#include <cstring>
#include <cstdio>
#include <algorithm>
#include <cmath>
#include <vector>
#include <deque>
#include <map>
#include <bitset>
#include <queue>
#pragma comment(linker, "/STACK:102400000,102400000")
using namespace std;
#define LL long long
#define ULL unsigned long long
#define eps 1e-9
#define N 100020
#define M 100010
#define pii pair<int,int>
#define MP make_pair
#define inf 0x3f3f3f3f
#define md (ll+rr>>1)
#define lson ll, md, ls
#define rson md + 1, rr, rs
#define ls (i << 1)
#define rs (ls | 1)
#define mod 1000000007
#define Pi acos(-1.0)
int main() {
int n, m;
scanf("%d%d", &n, &m);
if(n * m == 1) {
puts("1");
return 0;
}
long double ans = (n - 1.0) / n;
ans *= (m - 1);
ans /= (n * m - 1);
ans += 1.0 / n;
printf("%.12lf\n", (double)ans);
return 0;
}