#include <bits/stdc++.h> using namespace std; using ll = long long; #define int ll using pii = pair<int, int>; void solve() { int n, k; cin>>n>>k; vector<int> a(n); multiset<int> st; for(int i = 0; i < n; i++) { cin>>a[i]; st.insert(a[i]); } sort(a.begin(), a.end()); int res = 0; vector<int> us(n); deque<int> r; int ind = 0; for(int i = n - 1; i >= 0; i--) { auto P = st.find(a[i]); if(P == st.end()) continue; st.erase(P); auto R = st.lower_bound(k - a[i]); if(R != st.begin()) { R = prev(R); // cout<<"+ "<<a[i]<<" "<<*R<<endl; if(a[i] + *R < k) { res++; st.erase(R); if(!r.empty()) { r.pop_front(); } else if(!st.empty()) { st.erase(prev(st.end())); } } else r.push_back(a[i]); } else { r.push_back(a[i]); } } while(!r.empty()) { if(r.back() < k) { if(r.size() > 1) { r.pop_front(); } res++; r.pop_back(); } else { r.pop_back(); res++; } } cout<<res - 1<<'\n'; } int32_t main() { cin.tie(0); cout.tie(0); ios_base::sync_with_stdio(0); int tt = 1; cin >> tt; for (int t = 0; t < tt; t++) { solve(); } return 0; }