#include <bits/stdc++.h>
using namespace std;
long long arr[100005];
long long num[100005];
long long vis[100005];
long long B = 100000;
vector<long long> st;
int main() {
  long long q, i, j, k, a, b, c, n, r, l;
  bool flag;
  scanf("%lld", &q);
  for (i = 1; i <= q; i++) {
    while (st.size()) st.pop_back();
    scanf("%lld%lld", &n, &r);
    for (j = 1; j <= n; j++) {
      scanf("%lld", &arr[j]);
      num[arr[j]]++;
      if (vis[arr[j]] == 0) {
        vis[arr[j]] = 1;
        st.push_back(arr[j]);
      }
    }
    for (j = 1; j <= n; j++) {
      vis[arr[j]] = 0;
    }
    sort(st.begin(), st.end());
    l = st.size();
    if (l == 1) {
      printf("1\n");
      for (j = 1; j <= n; j++) num[arr[j]] = 0;
      continue;
    }
    flag = false;
    for (j = 1; j < l; j++) {
      if (st[l - 1 - j] - r * j <= 0) {
        printf("%lld\n", j);
        flag = true;
        break;
      }
    }
    if (!flag) printf("%lld\n", l);
    for (j = 1; j <= n; j++) num[arr[j]] = 0;
  }
}
