#include <bits/stdc++.h> using namespace std; using ll = long long; using pii = pair<ll, ll>; using vi = vector<ll>; using vvi = vector<vi>; #define rep(i, a, b) for(ll i = a; i < (b); ++i) #define all(x) begin(x),end(x) #define sz(x) (int)(x).size() auto solve() { ll n, k; cin >> n >> k; multiset<ll> s; rep(i,0,n) { ll x; cin >> x; s.insert(x); } ll ans = -1; while (!empty(s)) { ans++; ll x = *begin(s); s.erase(begin(s)); if (x >= k) continue; auto it = s.lower_bound(k - x); if (it != begin(s)) { it = prev(it); s.erase(it); } if (!empty(s)) { s.erase(prev(end(s))); } } return ans; } int main() { cin.tie(0)->sync_with_stdio(0); cin.exceptions(cin.failbit); cout << setprecision(9) << fixed; int t; cin >> t; while (t--) cout << solve() << '\n'; }