#include <iostream>
#include <vector>
#include <algorithm>

int main() {
    int t;
    std::cin >> t;

    while (t--) {
        int n, k;
        std::cin >> n >> k;

        int q = 0;

        auto v = std::vector<int>(n);
        for (auto &x : v) {
            std::cin >> x;
        }
        auto used = std::vector<bool>(n);

        std::sort(v.begin(), v.end());

        int l = 0;
        int r = n;
        int s = n;

        while (l < r && l < s) {
            while (l < r - 1 && used[l]) {
                l += 1;
            }
            while (r - 1 > l && (v[l] + v[r - 1] >= k || used[r - 1])) {
                r -= 1;
            }

            if (r - 1 == l) {
                break;
            }

            used[l] = true;
            used[r - 1] = true;
            // std::cout << "using " << l << ' ' << r - 1 << '\n';

            while (s - 1 >= 0 && used[s - 1]) {
                s -= 1;
            }

            if (s - 1 <= l) {
                // std::cout << l << ' ' << r - s1 << '\n';
                q += 1;
                goto done;
            }

            // std::cout << l << ' ' << r - 1 << ' ' << s - 1 << '\n';
            q += 1;
            used[s - 1] = true;
            // std::cout << "using " << s - 1 << '\n';


            l += 1;
            r -= 1;
            s -= 1;
        }

        // phase 2: pairs of 2
        while (l < s) {
            while (l < s - 1 && used[l]) {
                l += 1;
            }
            if (l >= s - 1) {
                break;
            }
            while (s - 1 >= 0 && used[s - 1]) {
                s -= 1;
            }

            if (s - 1 <= l) {
                // std::cout << l << '\n';
                q += 1;
                goto done;
            }
            if (v[l] >= k) {
                break;
            }

            used[l] = true;
            used[s - 1] = true;
            // std::cout << "using " << l << ' ' << s - 1 << '\n';

            // std::cout << l << ' ' << s - 1 << '\n';
            q += 1;

            l += 1;
            s -= 1;
        }

        // phase 3: individual
        while (l < n) {
            if (!used[l]) {
                // std::cout << l << '\n';
                q += 1;
            }
            l += 1;
        }

        done:;
        std::cout << q - 1 << '\n';
    }
}