#include #include #include #include #include #include #include #include #define LL long long #define LD long double #define MAXN 100005 #define MAXM #define P 998244353 #define MP make_pair #define PB push_back #define INF 0x3f3f3f3f #define dbg(a...) fprintf(stderr, a) using namespace std; int T, n, k, a[MAXN], b[MAXN]; int ksm(int x, int y) { int num=1; while(y) { if(y&1) num=1LL*num*x%P; x=1LL*x*x%P, y>>=1; } return num; } int main() { scanf("%d", &T); while(T--) { int num=0, ans=0; scanf("%d%d", &n, &k); for(int i=1; i<=n; ++i) scanf("%d", &a[i]); sort(a+1, a+n+1); num=-k, b[0]=-INF; for(int i=1; i<=n; ++i) { num=min(max(-k, b[i-1]-a[i]+1), k); b[i]=a[i]+num; } // for(int i=1; i<=n; ++i) printf("%d ", b[i]); // printf("\n"); sort(b+1, b+n+1); for(int i=1; i<=n; ++i) if(b[i]!=b[i-1]) ans++; printf("%d\n", ans); } return 0; }