#include <bits/stdc++.h>
using namespace std;
const int INF = 1001001001;
const int MOD = 1e9 + 7;
template <class T>
inline bool chmax(T &a, const T &b) {
  if (a < b) {
    a = b;
    return 1;
  }
  return 0;
}
template <class T>
inline bool chmin(T &a, const T &b) {
  if (b < a) {
    a = b;
    return 1;
  }
  return 0;
}
int main() {
  cin.tie(0), ios::sync_with_stdio(false);
  int n, k;
  cin >> n >> k;
  vector<int> a(n);
  for (int i = 0; i < int(n); i++) cin >> a[i];
  vector<vector<int> > ans(n);
  int cnt = 0;
  for (int i = 0; i < int(n); i++) {
    bool change = false;
    for (int j = 0; j < int(cnt); j++) {
      if (abs(ans[j].back() - a[i]) <= k) {
        ans[j].emplace_back(a[i]);
        change = true;
      }
    }
    if (!change) {
      ans[cnt].emplace_back(a[i]);
      cnt++;
    }
  }
  int res = 0;
  for (int i = 0; i < int(cnt); i++) chmax(res, (int)ans[i].size());
  cout << res;
  cout << endl;
  return 0;
}
