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

int N;

int func(vector<int> &A,vector<int> &B,int K,int i){
  int C=B.size();
  if(C==0){
    B.push_back(A.at(i));
    return func(A,B,K,i+1);
  }
  if(i==N){
    return C;
  }
  int D=B.at(C-1);
  if(abs(D-A.at(i))>K){
    return func(A,B,K,i+1);
  }
  else{
    int P=func(A,B,K,i+1);
    B.push_back(A.at(i));
    int Q=func(A,B,K,i+1);
    B.pop_back();
    return max(P,Q);
  }
}
  
int main(){
  int K;
  cin >> N >> K;
  vector<int> A(N),B;
  for(int i=0;i<N;i++){
    cin >> A.at(i);
  }
  int ans=func(A,B,K,0);
  cout << ans << endl;
}
  
  