#include <bits/stdc++.h>
using namespace std;
int n, c, maxn;
int a[1001];
void dfs(int x, int w)
{
if (x == n)
{
maxn = max(maxn, w);
return;
}
for (int i = x + 1; i <= n; i++)
{
if (a[i] + w <= c)
{
dfs(i, w + a[i]);
}
else
{
maxn = max(maxn, w);
break;
}
}
}
int main()
{
cin >> n >> c;
for (int i = 1; i <= n; i++)
{
cin >> a[i];
}
dfs(0, 0);
cout << maxn << endl;
return 0;
}