#include<iostream>
using namespace std;
int main()
{
int N;
long long C;
cin >> N >> C;
long long* arr = new long long[N];
long long* opt = new long long[N];
for (int i = 0; i < N; i++)
{
cin >> arr[i];
if (i == 0)
{
opt[i] = arr[i];
}
else
{
opt[i] = opt[i - 1] + arr[i];
}
}
if (opt[N - 1] <= C)
{
cout << opt[N - 1] << endl;
return 0;
}
long long sum = 0;
long long ans = 0;
int flag = 0;
for (int i = N - 1; i >= 0; i--)
{
for (int j = i-1; j >= 0; j--)
{
sum = arr[i] + opt[j];
if (sum > ans && sum <= C)
{
ans = sum;
}
if (sum < C&&j==i-2)
{
flag = 1;
break;
}
else if (sum < C)
{
break;
}
}
if (flag == 1)
{
break;
}
}
cout << ans << endl;
return 0;
}