#include <bits/stdc++.h>
using namespace std;
using ll = long long;
int main () {
	int N;
	ll X;
	cin >> N >> X;
	std::vector<ll> A(N);
	for (auto& a : A) cin >> a;
	if (accumulate(A.begin(), A.end(), 0ll) <= X) {
		cout << accumulate(A.begin(), A.end(), 0ll) << endl;
		return 0;
	}
	for (int i = 0; i < N; i ++) A.push_back(A[i]);
	vector<ll> sum(N * 2 + 1, 0);
	for (int i = 1; i <= N; i ++) sum[i] = sum[i - 1] + A[i - 1];
	ll ans = 0;
	int r = 0;
	for (int l = 0; l < N; l ++) {
		while (r <= N * 2 && sum[r] - sum[l] <= X) r ++;
		ans = max(ans, sum[r - 1] - sum[l]);
	}
	cout << ans << endl;
}