#include <bits/stdc++.h>
#include <atcoder/all>
using namespace std;
using namespace atcoder;

int op(int a, int b){
  return max(a,b);
}
int e(){
  return 0;
}

int main(){
  int n, k;
  cin >> n >> k;
  int a[n];
  segtree<int,op,e> seg(300001);
  for(int i=0; i<n; i++){
    cin >> a[i];
    int tmp=seg.prod(max(a[i]-k,0),min(a[i]+k+1,300000))+1;
    seg.set(a[i],tmp);
  }
  cout << seg.all_prod();
  return 0;
}
