#include<bits/stdc++.h>
using namespace std;
int n, k, ans = 0;
int a[3000001];
int maxq[3000001], minq[3000001];
int main()
{
speed: std::ios::sync_with_stdio(0);
cin.tie(0); cout.tie(0);
cin >> k >> n;
for(int i = 1; i <= n; i++)
cin >> a[i];
int head1 = 1, tail1 = 1;
int head2 = 1, tail2 = 1;
int len = 1;
maxq[1] = 1;
minq[1] = 1;
for(int i = 2; i <= n; i++)
{
while(head1 <= tail1 && a[minq[tail1]] > a[i]) tail1--;
while(head2 <= tail2 && a[maxq[tail2]] < a[i]) tail2--;
minq[++tail1] = i;
maxq[++tail2] = i;
while(a[maxq[head2]] - a[minq[head1]] > k)
{
if(maxq[head2] < minq[head1]) len = maxq[head2++] + 1;
else len = minq[head1++] + 1;
}
if(i >= k) ans = max(ans, i - len + 1);
}
cout << ans;
return 0;
}
#2~3 AC