#include <bits/stdc++.h>

using namespace std;
const int maxn = 100005;

int d[maxn];
void solve()
{
    int n, k;
    cin >> n >> k;
    int i, j;
    for(i = 1; i <= n; i++)
    {
        cin >> d[i];
    }
    sort(d+1,d+n+1);
    int t = 0, p = 0, s = 0;
    int l = 1;
    for(i = n; i >= l; i--)
    {
        if (d[i] >= k) {t++; continue;}
        if (i > l && d[i] + d[l] < k){p++; l++; continue;}

    }
    //cout << t << " " << p << " " << s << endl;
    s = n - 2*p - t;
    int ans = 0;
    int f = min(p,t);
    ans += f;
    p -= f;
    t -= f;
    f = min(p, s);
    ans += f;
    p -= f;
    s -= f;
    f = min(t, s);
    ans += f;
    t -= f;
    s -= f;
    if (t != 0) ans += t;
    else
    if (s != 0) ans += (s+1)/2;
    else
    if (p != 0) 
    {
        p = p * 2;
        ans += ((p+2)/3);        
    }
    //ans += t + s + p;
    cout << ans-1 << endl;
}
int main()
{
    ios::sync_with_stdio(false);
    cin.tie(NULL);
    cout.tie(NULL);
    int t;
    cin >> t;
    while(t--) solve();
    return 0;
}
// 5
// 8 25
// 4 5 18 3 17 17 18 14
// 7 21
// 20 14 1 4 20 8 4
// 8 1
// 20 5 9 4 14 12 2 20
// 8 37
// 2 13 13 11 12 19 16 18
// 4 38
// 15 3 14 7

// 0 3 0
// 3
// 0 2 0
// 3
// 7 0 0
// 7
// 0 4 0
// 4
// 0 2 0
// 2