#include <bits/stdc++.h>
using namespace std;
using vi = vector<int>;
using ll = long long;
int main() {
  int n, k;
  cin >> n >> k;
  vi a(n);
  for (int ix = 0; ix < n; ix++) cin >> a.at(ix);
  vi dp;
  for (int x : a) {
    if (dp.size() != 0) {
      queue<int> q;
      vi tmp;
      for (int ix = 0; ix < dp.size(); ix++) {
        if (abs(dp.at(ix) - x) <= k) q.push(ix);
      }
      while (!q.empty()) {
        int z = q.front();
        q.pop();
        if (z + 1 < dp.size())
          dp.at(z + 1) = x;
        else
          dp.push_back(x);
      }
    } else {
      dp.push_back(x);
    }
  }
  cout << dp.size() << endl;
}
