#include <iostream>
#include <set>

using namespace std;

void solve() {
    int n, k;
    cin >> n >> k;
    multiset <int> values;
    for (int i = 0; i < n; i++) {
        int x;
        cin >> x;
        values.insert(x);
    }
    int cnt = 0;
    while (!values.empty()) {
        cnt++;
        auto it = values.begin();
        int x = *it;
        values.erase(it);
        if (values.empty()) {
            break;
        }
        auto it2 = values.upper_bound(k - x);
        if (it2 == values.begin()) {
            if (x < k) {
                values.erase(prev(values.end()));
            }
            continue;
        }
        it2--;
        values.erase(it2);
        if (!values.empty()) {
            values.erase(prev(values.end()));
        }
    }
    cout << cnt - 1 << '\n';
}

int main()
{
    //freopen("test.in", "r", stdin);
    ios_base::sync_with_stdio(false);
    cin.tie(0);
    int nrt;
    cin >> nrt;
    while (nrt--) {
        solve();
    }
    return 0;
}