CCCPaste

4b53ef7f7e50f

#include <iostream>
#include <vector>
#include <bits/stdc++.h>
using namespace std;

const int maxn = 1e5 + 10;
int n, m;
int maski[maxn], zenski[maxn];
int main()
{
cin >> n;

for(int i = 0; i < n; i++) {
cin >> maski[i];

}

cin >> m;
for(int i = 0; i < m; i++) {
cin >> zenski[i];
}

int R, k;
cin >> R >> k;
sort(maski, maski + n);
sort(zenski, zenski + m);


int res = 0;
for(int i = 0, j = k - 1; j < m; i++, j++) {
int A = zenski[j] - R;
int B = zenski[i] + R;

int idx1 = lower_bound(maski, maski + n, A) - maski;
int idx2 = upper_bound(maski, maski + n, B) - maski;

if(idx1 >= 0 and idx1 < n and idx2 >= 0 and idx2 < n) {
res = max(res, idx2 - idx1);
}


}
cout << res << endl;



return 0;
}