#include <bits/stdc++.h>
using std::cin;
using std::cout;
using std::endl;
using std::max;
using std::sort;
using std::vector;
int main(int argc, char* argv[]) {
  int n, l;
  vector<int> t;
  int ans = 1;
  cin >> n;
  t.resize(n);
  for (int i = 0; i < n; ++i) {
    cin >> t.at(i);
  }
  sort(t.begin(), t.end());
  cin >> l;
  int i = 0, j = 0;
  while (true) {
    if (t.at(j) - t.at(i) <= l) {
      ans = max(ans, j - i + 1);
      if (j < n - 1) {
        ++j;
      } else {
        break;
      }
    } else {
      if (i < n - 1) {
        ++i;
        j = max(i, j);
      } else {
        break;
      }
    }
  }
  cout << ans << endl;
  return 0;
}
