#include <cstdio>#include <cstring>#include <cmath>#include <iostream>using namespace std;double f[1005][1005];int main(){ int n, s; while(scanf("%d%d", &n, &s)!=EOF) { memset(f, 0, sizeof(f)); for(int i=n; i>=0; i--) for(int j=s; j>=0; j--) { if(i==n && j==s) continue; double p1=(double(s-j)*i)/n/s; double p2=(double(n-i)*j)/n/s; double p3=(double(n-i)*(s-j))/n/s; double p0=1.0-(double(i*j))/n/s; f[i][j]=p1*f[i][j+1]+p2*f[i+1][j]+p3*f[i+1][j+1]+1; f[i][j]/=p0; } printf("%.4lfn", f[0][0]); } return 0;}