#include <bits/stdc++.h>
#define endl '\n'

using namespace std;
typedef long long int ll;
vector<int> a[100005];
int vis[100005];

void dfs(int n,int v)  {
    vis[n]=v;
    for(int i=0; i<a[n].size(); i++)  
        if(vis[a[n][i]]!=v)  dfs(a[n][i],v);
}

int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(NULL); cout.tie(NULL);
    
    int n,k;
    cin>>n>>k;
    int a[n];
    for(int i=0; i<n; i++)  cin>>a[i];
    
    int dp[n]={0};
    //dp[0]=1;
    for(int i=0; i<n; i++)  {
        for(int j=0; j<i; j++)  {
            if(abs(a[i]-a[j])<=k)  {
                dp[i]=max(dp[i],dp[j]);
            }
        }
        dp[i]++;
    }
    cout<<dp[n-1]<<endl;
   return 0;
}