#include <bits/stdc++.h>
using namespace std;
int dp[5005],cnt[5005][2],ans,c;
int main(){
int n,m;cin>>n>>m;
for(int i=1;i<=n;i++){
int a;cin>>a;
if(!a){
for(int j=1;j<=m;j++) cnt[j][0]+=cnt[j-1][0],cnt[j][1]+=cnt[j-1][1];
for(int j=c;j>=0;j--) dp[j]=max(dp[max(j-1,0)],dp[j])+cnt[j][0]+cnt[c-j][1];
for(int j=1;j<=m;j++) cnt[j][0]=cnt[j][1]=0;
c++;
}else if(a>0) cnt[a][0]++;
else cnt[-a][1]++;
}
for(int j=1;j<=m;j++) cnt[j][0]+=cnt[j-1][0],cnt[j][1]+=cnt[j-1][1];
for(int i=0;i<=m;i++) dp[i]+=cnt[i][0]+cnt[m-i][1],ans=max(ans,dp[i]);
cout<<ans;
}