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

typedef vector<int> vi;

#define int int64_t

#define loop(i,s,t) for(int i=s;i<t;i++)
#define all(a) a.begin(),a.end()

typedef pair<int, int> ii;
typedef vector<ii> vii;
typedef long double ld;

void solve()
{
    int n, k; cin >> n >> k;
    multiset<int> vids;
    for (int i = 0; i < n; ++i) {
        int d; cin >> d;
        vids.insert(d);
    }
    int ads = 0;
    while(!vids.empty())
    {
        auto it = vids.begin();
        if(*it>=k)
        {
            ads+=(vids.size()-1);
            break;
        }
        int val = *it;
        vids.erase(it);
        it = vids.lower_bound(k-val);
        if(it!=vids.begin())
        {
            it--;
            vids.erase(it);
        }
        if(vids.empty())
            break;
        auto it2 = vids.end();
        it2--;
        vids.erase(it2);
        if(!vids.empty())
            ads++;
    }
    cout << ads << endl;
}


int32_t main() {
    ios_base::sync_with_stdio(false); cin.tie(0);
    int t; cin >> t;
    for (int i = 0; i < t; ++i) {
        solve();
    }
    return 0;
}