#include
using namespace std;
int main() {
int n, m, k;
cin >> n >> m >> k;
multiset ms;
vector a(n), b(m);
for(int i = 0; i < n; i++) {
cin >> a[i];
}
for(int i = 0; i < m; i++) {
cin >> b[i];
ms.insert(b[i]);
}
sort(a.begin(), a.end());
sort(b.begin(), b.end());
int res = 0;
for(int i = 0; i < n; i++) {
int x = a[i] - k;
multiset::iterator it = ms.lower_bound(x);
if(*it >= x and *it <= a[i] + k) {
res++;
ms.erase(it);
}
}
cout << res << endl;
return 0;
}