#include <bits/stdc++.h>   using namespace std;   const long long maxn = 2e5 + 7;   struct Node {     long long x, y;   } node[maxn];   bool cmp(Node a, Node b) { return a.x < b.x; }   long long n, k;   long long len[maxn];   int32_t main() {     ios::sync_with_stdio(0);     cin.tie(0);     cout.tie(0);     ;     int t;     cin >> t;     while (t--) {       cin >> n >> k;       for (int i = 0; i < n; i++) cin >> node[i].x;       for (int i = 0; i < n; i++) cin >> node[i].y;       sort(node, node + n, cmp);       long long tarl, tarr;       for (tarr = tarl = 0; tarr < n; tarr++) {         while (node[tarl].x < node[tarr].x - k) tarl++;         len[tarr] = tarr - tarl + 1;       }       long long ans = 0, Max = 0;       for (tarr = tarl = 0; tarr < n; tarr++) {         while (node[tarl].x < node[tarr].x - k) {           Max = max(Max, len[tarl]);           tarl++;         }         ans = max(Max + len[tarr], ans);       }       cout << ans << endl;       for (int i = 0; i < n; i++) len[i] = 0;     }   }   