#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
typedef unsigned long long ull;
int dx[]={1,-1,0,0},dy[]={0,0,1,-1};
typedef pair<int,int>PII;
typedef pair<int,__int128>PI;
typedef pair<double,double>PDD;
typedef pair<LL,LL>PLL;
typedef tuple<LL,LL,LL,LL>t4i;
typedef tuple<int,int,int>t3i;
const long double eps=1e-10;
const int inf=0x3f3f3f3f;
const long long INF=1e18;
const double pai=acos(-1.0);
const int mod=1e9+7;
const int N=2e6+10,M=2e6+10;
mt19937_64 rng(chrono::steady_clock::now().time_since_epoch().count());
//__builtin_popcountll(x)
//31-15
LL a[N],s[N];
void solve()
{
LL n,k;cin>>n>>k;map<LL,LL>mp;
for(int i=1;i<=n;i++) cin>>a[i],s[i]=s[i-1]+a[i];
LL ans=-1;
mp[0]=0;
/*s[i]-s[j-1]=(i-j+1)*k
s[i]-s[j-1]=i*k-(j-1)*k
s[i]-i*k=s[j-1]-(j-1)*k*/
for(LL i=1;i<=n;i++){
LL x=s[i]-i*k;
if(mp.count(x)) ans=max(ans,i-mp[x]);
else mp[x]=i;
}
printf("%lld\n",ans);
}
int main()
{
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
int tt;tt=1;
//cin>>tt;
while(tt--){
solve();
}
return 0;
}