#include <bits/stdc++.h>
using namespace std;
typedef long long int ll;
#define rep(i, l, r) for ((i) = (l); (i) <=(r); (i)++)
ll e[1000007];
ll p1[1000007];
ll p2[1000007];
ll calculate(ll x,ll y)
{
ll s1=p1[y]-p1[x-1];
ll k = abs(x-y)+1;
ll s2= p2[y]-p2[x-1];
ll sum=s2*k;
ll answer = s1+sum;
return answer;
}
int main()
{
ios_base::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
ll n;
cin>>n;ll s;cin>>s;
ll i;
rep(i,1,n)
{
cin>>e[i];
p1[i]=e[i]+p1[i-1];
p2[i]=i+p2[i-1];
}
p2[n+1]=1e18;
p1[n+1]=1e18;
//cout<<"lol";
///cout<<calculate(2,2);
//cout<<"\n";
ll ram=-1e18;
rep(i,1,n)
{
ll low=i;
ll high=n;
ll answer = -1;ll km = 0 ;
while(low<=high && km==0)
{
ll mid=(low+high)/2;
if(calculate(i,mid)>s)
{
high=mid-1;
}
else{
if(calculate(i,mid+1)<=s)
{
low=mid+1;
}
else
{
km=1;
answer = mid;
}
}
}
if(answer==-1)
{
}
else
{ ll real = abs(answer-i)+1;
ram=max(ram,real);
}
}
cout<<ram ;
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CnR5cGVkZWYgbG9uZyBsb25nIGludCBsbDsKI2RlZmluZSByZXAoaSwgbCwgcikgZm9yICgoaSkgPSAobCk7IChpKSA8PShyKTsgKGkpKyspCmxsIGVbMTAwMDAwN107CmxsIHAxWzEwMDAwMDddOwpsbCBwMlsxMDAwMDA3XTsKbGwgY2FsY3VsYXRlKGxsIHgsbGwgeSkKewoJbGwgczE9cDFbeV0tcDFbeC0xXTsKCWxsIGsgPSBhYnMoeC15KSsxOwoJbGwgczI9IHAyW3ldLXAyW3gtMV07CglsbCBzdW09czIqazsKCWxsIGFuc3dlciA9IHMxK3N1bTsKCXJldHVybiBhbnN3ZXI7Cn0KCmludCBtYWluKCkKewoJaW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbygwKTsKCWNpbi50aWUoMCk7Cgljb3V0LnRpZSgwKTsKCWxsIG47CgljaW4+Pm47bGwgcztjaW4+PnM7CglsbCBpOwoJcmVwKGksMSxuKQoJewoJCWNpbj4+ZVtpXTsKCQlwMVtpXT1lW2ldK3AxW2ktMV07CgkJcDJbaV09aStwMltpLTFdOwoJfQoJcDJbbisxXT0xZTE4OwoJcDFbbisxXT0xZTE4OwoJCgoJLy9jb3V0PDwibG9sIjsKCS8vL2NvdXQ8PGNhbGN1bGF0ZSgyLDIpOwoJLy9jb3V0PDwiXG4iOwoJbGwgcmFtPS0xZTE4OwoJcmVwKGksMSxuKQoJewoJCWxsIGxvdz1pOwoJCWxsIGhpZ2g9bjsKCQlsbCBhbnN3ZXIgPSAtMTtsbCBrbSA9IDAgOwoJICAgICAgd2hpbGUobG93PD1oaWdoICYmIGttPT0wKQoJICAgICAgewoJICAgICAgCQoJICAgICAgCQogICAgCSAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICBsbCBtaWQ9KGxvdytoaWdoKS8yOyAgCiAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgaWYoY2FsY3VsYXRlKGksbWlkKT5zKQogICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICBoaWdoPW1pZC0xOyAgICAKICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICBlbHNlewogICAgICAgICAgICAgICAgICAJCiAgICAgICAgICAgICAgICAgIAkKICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAJCiAgICAgICAgCSAgICAKICAgICAgICAgICAgICAgICAgICAgIGlmKGNhbGN1bGF0ZShpLG1pZCsxKTw9cykKICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgIGxvdz1taWQrMTsKICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgIGttPTE7CiAgICAgICAgICAgICAgICAgICAgICBhbnN3ZXIgPSBtaWQ7CiAgICAgICAgICAgICAgICAgICAgICB9ICAgIAogICAgICAgICAgICAgICAgIAogICAgICAgICAgIAogICAgICAgICAgCiAgICAgICAgICAgICAgICAgfQogICAgICAKICAgICAgICAgICAgCiAgICAgICAgICAgIAogICAgICAgICAgfQoJCQoJCWlmKGFuc3dlcj09LTEpCgkJewoJCQoJCQkKCQl9CgkJZWxzZQoJCXsgICAgIGxsIHJlYWwgPSBhYnMoYW5zd2VyLWkpKzE7CgkJCgkJCXJhbT1tYXgocmFtLHJlYWwpOwoJCQkKCQl9CgkJCgkJCgkKCX0KCQoJCgljb3V0PDxyYW0gIDsKCQoJCgkKCQoJCgkKCQoJcmV0dXJuIDA7Cgp9