#include using namespace std; typedef long long ll; typedef pair P; #define REP(i,n) for(ll i=0;i> N >> X; vector A(2*N+1,0); for(i=1;i<=N;i++){ cin >> A[i]; A[i+N]=A[i]; } for(i=1;i<=2*N;i++) A[i]+=A[i-1]; ll mx=0; for(i=1;i<=2*N;i++){ ll x=upper_bound(A.begin(),A.end(),A[i-1]+X)-A.begin(); if(x>=i+N) mx=A[N]; else if(x==2*N+1) mx=max(mx,A[2*N]-A[i-1]); else mx=max(mx,A[x-1]-A[i-1]); } cout << mx << endl; return 0; }