#include #include #include #include #include #include #include #include #include #include #include #include using namespace std; using namespace atcoder; typedef long long ll; #define rep(i,n) for (int i = 0; i < int(n);i++) int main(){ int n; ll x; cin >> n >> x; vector a(2*n); for (int i = 0; i < n;i++){ cin >> a[i]; } for (int i = 0; i < n;i++){ a[n+i] = a[i]; } int s = 0,t = 0; ll ans = 0; ll res = 0; while(s < 2*n){ while(t < 2*n && res + a[t] <= x && t-s+1 <= n){ res += a[t]; t++; } ans = max(ans,res); res = 0; if (s == t){ s++; t++; } else{ s = t; } } cout << ans << endl; return 0; }