#include<bits/stdc++.h>
using namespace std;
typedef long long int ll;

const ll N = 1e5+5;


ll n,k,dp[N][55],a[N];

ll solve(ll x,ll dis){
	if(x>=n){
		return 1;
	}

	if(dp[x][dis]!=-1)
		return dp[x][dis];

	ll mx=0,fre[55]={0};
	for(ll i=x+1;i<=n;i++){
		if(abs(a[x]-a[i])+dis<=k && (!fre[a[i]])){
			mx=max(mx,solve(i,abs(a[x]-a[i])+dis)+1);
			
		}else{
			mx=max(mx,1LL);
		}
		fre[a[i]]=1;
	}

	return dp[x][dis]=mx;
}

int main()
{
// 	freopen("in.txt","r",stdin);freopen("out.txt","w",stdout);
    ios::sync_with_stdio(false),cin.tie(0),cout.tie(0);
    cin >> n >> k;
    
    for(int i=1;i<=n;i++)
    	cin >> a[i];
    if(k==0){
        cout << "1\n";
        return 0;
    }
    memset(dp,-1,sizeof(dp));
    ll ans=solve(1,0);
    if(ans==0)
        ans++;
    cout << ans << endl;
    return 0;
}