#include using namespace std; int n,k,T,last,ans,a[100005]; map mp; void init() { ans=0; mp.clear(); last=-2*(1e9)-1; } int main() { scanf("%d",&T); while(T--) { scanf("%d%d",&n,&k); init(); for(int i=1;i<=n;i++) scanf("%d",&a[i]); sort(a+1,a+1+n); for(int i=1;i<=n;i++) { int mi=max(last+1,a[i]-k),mx=a[i]+k; while(mp[mi]&&mi<=mx) mi++; if(mi<=mx) ans++,mp[mi]=1,last=mi; } printf("%d\n",ans); } return 0; }