#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;
}
