#include <bits/stdc++.h>
const int N = 3e6;
const int M = 1e6;
#define ll long long
const ll MOD = 1e9 + 1;
const ll INF = 1e15;
const ll base = 32;
#define fi first
#define se second
using namespace std;
ll n, t;
ll a[N+3];
deque<ll> ma, mi;
int main(){
ios_base::sync_with_stdio(0);
cin.tie(0);
// freopen("main.inp","r",stdin);
// freopen("main.out","w",stdout);
cin>>n>>t;
for(int i=1;i<=n;i++)cin>>a[i];
int l = 1, r = n, ans = 0;
while(l <= r){
int mid = l + r >> 1;
ll res = 0, cnt = 0;
while(!ma.empty())ma.pop_back();
while(!mi.empty())mi.pop_back();
// cout<<mid<<"\n";
for(int i=1;i<mid;i++){
while(!ma.empty() and a[ma.back()] <= a[i])ma.pop_back();
ma.push_back(i);
}
for(int i=1;i<mid;i++){
while(!mi.empty() and a[mi.back()] >= a[i])mi.pop_back();
mi.push_back(i);
}
for(int i=mid;i<=n;i++){
while(!ma.empty() and a[ma.back()] <= a[i])ma.pop_back();
ma.push_back(i);
if(ma.front() <= i - mid)ma.pop_front();
while(!mi.empty() and a[mi.back()] >= a[i])mi.pop_back();
mi.push_back(i);
if(mi.front() <= i - mid)mi.pop_front();
// cout<<a[ma.front()]<<" "<<a[mi.front()]<<"\n";
res = abs(a[ma.front()] - a[mi.front()]);
if(res <= t){
cnt++;
break;
}
}
if(cnt > 0){
ans = mid;
l = mid + 1;
}
else r = mid - 1;
}
cout<<ans<<"\n";
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CmNvbnN0IGludCBOID0gM2U2Owpjb25zdCBpbnQgTSA9IDFlNjsKI2RlZmluZSBsbCBsb25nIGxvbmcKY29uc3QgbGwgTU9EID0gMWU5ICsgMTsKY29uc3QgbGwgSU5GID0gMWUxNTsKY29uc3QgbGwgYmFzZSA9IDMyOwojZGVmaW5lIGZpIGZpcnN0CiNkZWZpbmUgc2Ugc2Vjb25kCnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgpsbCBuLCB0OwpsbCBhW04rM107CmRlcXVlPGxsPiBtYSwgbWk7CgppbnQgbWFpbigpewogICAgaW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbygwKTsKICAgIGNpbi50aWUoMCk7CiAgICAvLyBmcmVvcGVuKCJtYWluLmlucCIsInIiLHN0ZGluKTsKICAgIC8vIGZyZW9wZW4oIm1haW4ub3V0IiwidyIsc3Rkb3V0KTsKICAgIGNpbj4+bj4+dDsKICAgIGZvcihpbnQgaT0xO2k8PW47aSsrKWNpbj4+YVtpXTsKICAgIGludCBsID0gMSwgciA9IG4sIGFucyA9IDA7CiAgICB3aGlsZShsIDw9IHIpewogICAgICAgIGludCBtaWQgPSBsICsgciA+PiAxOwogICAgICAgIGxsIHJlcyA9IDAsIGNudCA9IDA7CiAgICAgICAgd2hpbGUoIW1hLmVtcHR5KCkpbWEucG9wX2JhY2soKTsKICAgICAgICB3aGlsZSghbWkuZW1wdHkoKSltaS5wb3BfYmFjaygpOwogICAgICAgIC8vIGNvdXQ8PG1pZDw8IlxuIjsKICAgICAgICBmb3IoaW50IGk9MTtpPG1pZDtpKyspewogICAgICAgICAgICB3aGlsZSghbWEuZW1wdHkoKSBhbmQgYVttYS5iYWNrKCldIDw9IGFbaV0pbWEucG9wX2JhY2soKTsKICAgICAgICAgICAgbWEucHVzaF9iYWNrKGkpOwogICAgICAgIH0KICAgICAgICBmb3IoaW50IGk9MTtpPG1pZDtpKyspewogICAgICAgICAgICB3aGlsZSghbWkuZW1wdHkoKSBhbmQgYVttaS5iYWNrKCldID49IGFbaV0pbWkucG9wX2JhY2soKTsKICAgICAgICAgICAgbWkucHVzaF9iYWNrKGkpOwogICAgICAgIH0KICAgICAgICBmb3IoaW50IGk9bWlkO2k8PW47aSsrKXsKICAgICAgICAgICAgd2hpbGUoIW1hLmVtcHR5KCkgYW5kIGFbbWEuYmFjaygpXSA8PSBhW2ldKW1hLnBvcF9iYWNrKCk7CiAgICAgICAgICAgIG1hLnB1c2hfYmFjayhpKTsKICAgICAgICAgICAgaWYobWEuZnJvbnQoKSA8PSBpIC0gbWlkKW1hLnBvcF9mcm9udCgpOwoKICAgICAgICAgICAgd2hpbGUoIW1pLmVtcHR5KCkgYW5kIGFbbWkuYmFjaygpXSA+PSBhW2ldKW1pLnBvcF9iYWNrKCk7CiAgICAgICAgICAgIG1pLnB1c2hfYmFjayhpKTsKICAgICAgICAgICAgaWYobWkuZnJvbnQoKSA8PSBpIC0gbWlkKW1pLnBvcF9mcm9udCgpOwogICAgICAgICAgICAvLyBjb3V0PDxhW21hLmZyb250KCldPDwiICI8PGFbbWkuZnJvbnQoKV08PCJcbiI7CiAgICAgICAgICAgIHJlcyA9IGFicyhhW21hLmZyb250KCldIC0gYVttaS5mcm9udCgpXSk7CiAgICAgICAgICAgIGlmKHJlcyA8PSB0KXsKICAgICAgICAgICAgICAgIGNudCsrOwogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgaWYoY250ID4gMCl7CiAgICAgICAgICAgIGFucyA9IG1pZDsKICAgICAgICAgICAgbCA9IG1pZCArIDE7CiAgICAgICAgfQogICAgICAgIGVsc2UgciA9IG1pZCAtIDE7CiAgICB9CiAgICBjb3V0PDxhbnM8PCJcbiI7CiAgICByZXR1cm4gMDsKfQo=