#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;
}