) tb /= 3, f3 = 0;
if(tc % 3 == 0 && f3) tc /= 3, f3 = 0;
return 1ll * ta * tb * tc;
}
void solve() {
memset(b, 0, sizeof(b)); memset(c, 0, sizeof(c)); mx = 0; sum[0] = 0;
N = read();
for(int i = 1; i <= N; i++) a[i] = read(), b[a[i]]++, c[a[i]]++, chmax(mx, a[i]);
Mul(b, c, mx, mx);
for(int i = 1; i <= N; i++) c[2 * a[i]]--;
for(int i = 1; i <= mx; i++) c[i] /= 2;
for(int i = 1; i <= mx; i++) sum[i] = sum[i - 1] + c[i];
LL ans = 0;
for(int i = 1; i <= N; i++) ans += sum[a[i]];
LL tmp = Comb(N); ans = tmp - ans;
printf("%.7lf\n", (double) ans / tmp);
}
signed main() {
// freopen("a.in", "r", stdin);
Init(4e5);
for(int T = read(); T--; solve());
return 0;
}
|