#include<bits/stdc++.h> using namespace std; int main(){ ios::sync_with_stdio(false); cin.tie(0); int t; cin>>t; while(t--){ int n,k; cin>>n>>k; int cont=0; multiset<int> ds; for(int i=0;i<n;i++){ int x; cin>>x; ds.insert(x); } vector<int> rim; while(!ds.empty() && cont<rim.size()+ds.size()){ int x = *ds.rbegin(); ds.erase(ds.find(x)); auto it = ds.lower_bound(k-x); if(it==ds.begin()){ rim.push_back(x); }else{ it--; cont++; //cout<<x<<" con "<<*it<<"\n"; ds.erase(it); } } for(auto i : ds)rim.push_back(i); sort(rim.rbegin(),rim.rend()); int num=cont,ind=0; while(ind<rim.size() && num>0){ ind++; num--; } int numrim = rim.size()-ind, cont2=0; while(ind<rim.size() && rim[ind]>=k){ if(rim[ind]>k)cont2++; ind++; } cont+=max((numrim+1)/2,cont2); cout<<cont-1<<"\n"; } }