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