#include <bits/stdc++.h> using namespace std; typedef vector<int> vi; #define int int64_t #define loop(i,s,t) for(int i=s;i<t;i++) #define all(a) a.begin(),a.end() typedef pair<int, int> ii; typedef vector<ii> vii; typedef long double ld; void solve() { int n, k; cin >> n >> k; multiset<int> vids; for (int i = 0; i < n; ++i) { int d; cin >> d; vids.insert(d); } int ads = 0; while(!vids.empty()) { auto it = vids.begin(); if(*it>=k) { ads+=(vids.size()-1); break; } int val = *it; vids.erase(it); it = vids.lower_bound(k-val); if(it!=vids.begin()) { it--; vids.erase(it); } if(vids.empty()) break; auto it2 = vids.end(); it2--; vids.erase(it2); if(!vids.empty()) ads++; } cout << ads << endl; } int32_t main() { ios_base::sync_with_stdio(false); cin.tie(0); int t; cin >> t; for (int i = 0; i < t; ++i) { solve(); } return 0; }