#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; }