#include <bits/stdc++.h> using namespace std; #define rep(i, a, b) for (int i = a; i < (b); ++i) #define all(x) begin(x), end(x) #define sz(x) (int)(x).size() #define F first #define S second #define MP make_pair typedef long long ll; typedef vector<int> vi; typedef vector<ll> vl; typedef pair<int, int> pii; typedef pair<ll, ll> pll; signed main() { cin.tie(0)->sync_with_stdio(0); cin.exceptions(cin.failbit); int t; cin >> t; rep(blblb, 0, t) { int n; ll k; cin >> n >> k; vl vecvals(n); for (auto &v : vecvals) cin >> v; std::sort(all(vecvals)); list<ll> vals(all(vecvals)); auto b = prev(vals.end()); int cnt = 0; while (!vals.empty()) { auto a = vals.begin(); auto c = prev(vals.end()); while (b != a && (*a + *b >= k || b == c)) b--; if (a == c || *a >= k) { vals.erase(a); b = vals.begin(); } else if (a == b) { b++; vals.erase(a); vals.erase(c); } else { b--; bool f = a == b; vals.erase(next(b)); vals.erase(a); vals.erase(c); if (f) b = vals.begin(); } cnt++; } cout << (cnt - 1) << '\n'; } }