#include #include #include #include #include #include using namespace std; #define MP(x,y) make_pair(x,y) const int MAXN= 110; const double EPS = 1e-14; const double INF = 1e50; long double dp[1010][MAXN]; int fa[1010][MAXN],ord[1010]; double pm[MAXN][MAXN],pw[MAXN][MAXN]; int main() { int ncase,n,m,w; scanf("%d",&ncase); while(ncase--) { scanf("%d%d%d",&n,&m,&w); for(int i=0;iEPS) pm[i][j]=log(pm[i][j]); else pm[i][j]=-INF; } for(int i=0;iEPS) pw[i][j]=log(pw[i][j]); else pw[i][j]=-INF; } for(int i=0;i=0;--i) { for(int j=0;j-INF+EPS) for(int k=0;k-INF+EPS&&dp[i][j]+EPS