#include <bits/stdc++.h>
using namespace std;
int maxn=0,n,c,w[50];
void dfs(int k, int s) {
if (s==c) {
maxn=c;
return;
}
if (s>maxn)maxn = s;
if (k>n)return;
if (s+w[k]<=c)dfs(k + 1, s + w[k]);
dfs(k+1,s);
}
int main() {
cin>>n>>c;
for (int i=1; i<=n; ++i) cin >> w[i];
dfs(1,0);
cout << maxn;
return 0;
}