#include #include #include #include #include #include #include using namespace std; typedef long long ll; const int mod=998244353; const int maxn=1e5+5; int a[maxn]; namespace IO{ char buf[1<<20],*P1=buf,*P2=buf; #define gc() getchar() //#define gc() (P1==P2&&(P2=(P1=buf)+fread(buf,1,1<<20,stdin),P1==P2)?EOF:*P1++) #define TT templateinline TT void read(T&x) { x=0;register char c=gc();register bool f=0; while(c<48||c>57){f^=c=='-',c=gc();} while(47>=1; a=a*a%mod; } return ans; } int main() { int t; read(t); while(t--) { mapmp; int n,k; read(n),read(k); for(int i=1;i<=n;i++)read(a[i]); sort(a+1,a+1+n); int l=a[1]-k-1,ans=0; for(int i=1;i<=n;i++) { l=max(l,a[i]-k); while(mp.find(l)!=mp.end()&&l<=a[i]+k)l++; if(l<=a[i]+k)mp[l]=1,ans++,l++; } write(ans); } return 0; }