#include <bits/stdc++.h>
using namespace std;

#define rep(i, a, b) for (int i = a; i < (b); ++i)
#define all(x) begin(x), end(x)
#define sz(x) (int)(x).size()
#define F first
#define S second
#define MP make_pair
typedef long long ll;
typedef vector<int> vi;
typedef vector<ll> vl;
typedef pair<int, int> pii;
typedef pair<ll, ll> pll;

signed main()
{
	cin.tie(0)->sync_with_stdio(0);
	cin.exceptions(cin.failbit);

	int t;
	cin >> t;
	rep(blblb, 0, t)
	{
		int n;
		ll k;
		cin >> n >> k;

		vl vecvals(n);
		for (auto &v : vecvals)
			cin >> v;

		std::sort(all(vecvals));

		list<ll> vals(all(vecvals));

		auto b = prev(vals.end());

		int cnt = 0;

		while (!vals.empty())
		{
			auto a = vals.begin();
			auto c = prev(vals.end());

			while (b != a && (*a + *b >= k || b == c))
				b--;

			if (a == c || *a >= k)
			{
				vals.erase(a);
				b = vals.begin();
			}
			else if (a == b)
			{
				b++;
				vals.erase(a);
				vals.erase(c);
			}
			else
			{
				b--;
				bool f = a == b;
				vals.erase(next(b));
				vals.erase(a);
				vals.erase(c);

				if (f)
					b = vals.begin();
			}

			cnt++;
		}

		cout << (cnt - 1) << '\n';
	}
}