#include <bits/stdc++.h>
using namespace std;
int good(const string &s, char x) {
  if (s.length() == 1) return s[0] != x;
  int ans = 0, ans2 = 0;
  int n = s.size();
  for (int i = 0; i < n / 2; i++) {
    if (s[i] != x) ans++;
    if (s[i + n / 2] != x) ans2++;
  }
  ans += good(s.substr(n / 2, n / 2), x + 1);
  ans2 += good(s.substr(0, n / 2), x + 1);
  return min(ans, ans2);
}
int main() {
  int q;
  cin >> q;
  while (q--) {
    int n;
    cin >> n;
    long long int x;
    cin >> x;
    vector<long long int> a(n);
    for (int i = 0; i < n; i++) cin >> a[i];
    sort(a.begin(), a.end(), greater<long long int>());
    vector<long long int> b(n);
    for (int i = 0; i < n; i++) b[i] = ceil((x * 1.0) / (a[i] * 1.0));
    int ans = 0, j = 0, i = 0;
    while (i < n) {
      if (b[i] <= i - j + 1) {
        ans++;
        j = i + 1;
        i++;
      } else
        i++;
    }
    cout << ans << endl;
  }
}
