#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>#include <cstdlib>using namespace std;const int maxa = 19;const int maxc = 37;const int maxn = 55;double dp[maxa][maxc][maxn][3][2];double b[3][2], d[3][2];inline double P(int i, int j, int n) { return max(0.0, min(1.0, b[i][j] - n * d[i][j]));}double gao(int a, int c, int h, int t, int w) { double &ret = dp[a][c][h][t][w]; if (ret != -1) return ret; if (a == 0 && c == 0) return ret = 0; int a0 = a, h0 = h, w0 = w; w = 1- w; if (t == 0) ++h, ++t; else if (t == 1) ++t; else if (t == 2) ++a, t = 0; ret = 0; if (a0 > 0) { ret = max(ret, P(0, w0, h0) * (1 - gao(a - 1, c, h, t, w))); ret = max(ret, P(1, w0, h0) * (1 - gao(a - 1, c + 1, h, t, w))); } if (c > 0) { ret = max(ret, P(2, w0, h0) * (1 - gao(a, c - 1, h, t, w))); } return ret;}void solved(int nT) { int n; scanf("%d", &n); for (int i = 0; i < 2; ++i) { for (int j = 0; j < 3; ++j) { scanf("%lf %lf", &b[j][i], &d[j][i]); } } fill(dp[0][0][0][0], dp[n+1][0][0][0], -1); printf("%.4lfn", gao(n - 1, 0, n, 0, 0));}int main() { int T = 1; scanf("%d", &T); for (int nT = 1; nT <= T; ++nT) { solved(nT); } return 0;}


