#include <bits/stdc++.h>
#include <atcoder/all>
#define rep(i, n) for (int i = 0; i < (n); i++)
using ll = long long;
using namespace std;
using namespace atcoder;
using mint = modint1000000007;
int main() {
    int n,k;cin>>n>>k;
    vector<int> a(n);
    rep(i,n)cin>>a[i];
    vector<int> ans(300005,0);
    int maxans=0;
    ans[a[0]]=1;
    for(int i=1;i<n;i++){
        int mink=max(a[i]-k,0);
        int maxk=min(a[i]+k,300001);
        auto itr = max_element(ans.begin()+mink,ans.begin()+maxk+1);
        ans[a[i]]=*itr+1;
        maxans=max(maxans,*itr+1);
    }
    cout<<maxans<<endl;
}