#include <bits/stdc++.h>
using namespace std;
const int inf = (int)1e9;
long long A(long long x) {
  if (x >= 0)
    return x;
  else
    return -x;
}
long long gcd(long long a, long long b) {
  if (b > a) {
    long long tmp = b;
    b = a;
    a = tmp;
  }
  if (a % b == 0)
    return b;
  else
    return gcd(b, a % b);
}
unsigned long long popcount(unsigned long long x) {
  x = ((x & 0xaaaaaaaaaaaaaaaaUL) >> 1) + (x & 0x5555555555555555UL);
  x = ((x & 0xccccccccccccccccUL) >> 2) + (x & 0x3333333333333333UL);
  x = ((x & 0xf0f0f0f0f0f0f0f0UL) >> 4) + (x & 0x0f0f0f0f0f0f0f0fUL);
  x = ((x & 0xff00ff00ff00ff00UL) >> 8) + (x & 0x00ff00ff00ff00ffUL);
  x = ((x & 0xffff0000ffff0000UL) >> 16) + (x & 0x0000ffff0000ffffUL);
  x = ((x & 0xffffffff00000000UL) >> 32) + (x & 0x00000000ffffffffUL);
  return x;
}
int main(void) {
  int T;
  cin >> T;
  for (int query = 0; query < T; query++) {
    long long n, x;
    cin >> n >> x;
    vector<long long> a(n);
    for (int i = 0; i < n; i++) {
      cin >> a[i];
    }
    sort(a.begin(), a.end(), greater<long long>());
    int ans = 0;
    long long tmp = 0;
    for (int i = 0; i < n; i++) {
      if (a[i] * (tmp + 1) >= x) {
        ans++;
        tmp = 0;
      } else
        tmp++;
    }
    cout << ans << endl;
  }
  return 0;
}
