#include using namespace std; typedef long long ll; typedef pair PII; const int maxn=111111,mod=998244353; #define fi first #define se second #define MP make_pair #define PB push_back #define lson o<<1,l,mid #define rson o<<1|1,mid+1,r #define FOR(i,a,b) for(int i=(a);i<=(b);i++) #define ROF(i,a,b) for(int i=(a);i>=(b);i--) #define MEM(x,v) memset(x,v,sizeof(x)) inline ll read(){ char ch=getchar();ll x=0,f=0; while(ch<'0' || ch>'9') f|=ch=='-',ch=getchar(); while(ch>='0' && ch<='9') x=x*10+ch-'0',ch=getchar(); return f?-x:x; } inline int qpow(int a,int b){ int ans=1; for(;b;b>>=1,a=1ll*a*a%mod) if(b&1) ans=1ll*ans*a%mod; return ans; } int n,k,a[maxn]; void solve(){ n=read();k=read(); FOR(i,1,n) a[i]=read(); sort(a+1,a+n+1); int x=a[1]-k,ans=1; FOR(i,2,n){ x=max(a[i]-k,x+1); if(x<=a[i]+k) ans++; else x=a[i]+k; } printf("%d\n",ans); } int main(){ int T=read(); while(T--) solve(); }