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