#include <bits/stdc++.h>
using namespace std;

#define ll long long
#define sl(n) scanf("%lld", &n)
#define for1(i, stop) for(ll i = 1; i <= stop; ++i)
#define rep1(i, start) for(ll i = start; i >= 1; --i)
#define pf printf

const ll sz = 1e4 + 10;
ll a[sz], cnt[sz];
double dp[sz];

int main()
{
    ll t;
    cin >> t;

    while(t--) {
        ll n, c;
        sl(n), sl(c);

        for1(i, n) sl(a[i]);
        sort(a+1, a+n+1);

        for(ll i = 0; i <= c; i++) dp[i] = cnt[i] = 0;

        rep1(i, n) {

            ll l = i;
            for(ll j = i; j >= 1; j--) {
                if(a[j] != a[i])
                    break;

                l = j;
            }
            ll tot = i-l+1;

            for(ll x = c; x >= a[i]; x--) {
                ll nxt = x-a[i];

                if(cnt[nxt] == 0)
                    dp[x] += tot;
                else
                    dp[x] += (tot + tot*(double)1/cnt[nxt] * dp[nxt]);

                cnt[x] += (i-l+1);
            }

            i = l;
        }

        pf("%0.9f\n", (double)1/n*dp[c]);
    }

    return 0;
}
