#include<bits/stdc++.h>
using namespace std;constint N =55;int n, m;double dp[N][N][N * N];intmain(){int T;scanf("%d",&T);while(T --){scanf("%d %d",&n,&m);memset(dp,0,sizeof dp);
dp[1][1][1]=1;for(int i =1; i <= n; i ++)for(int j =1; j <= m; j ++)for(int k =1; k <= i * j; k ++){if(i < n || j < m)//这个特判必须要加
dp[i][j][k +1]+= dp[i][j][k]*(i * j - k)/(n * m - k);
dp[i +1][j][k +1]+= dp[i][j][k]*(n - i)* j /(n * m - k);
dp[i][j +1][k +1]+= dp[i][j][k]* i *(m - j)/(n * m - k);
dp[i +1][j +1][k +1]+= dp[i][j][k]*(n - i)*(m - j)/(n * m - k);}double ans =0;for(int i =1; i <= n * m; i ++){
ans += dp[n][m][i]* i;}printf("%.12f\n", ans);}return0;}