#include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; using ll = long long; int main() { int N; cin >> N; long K; cin >> K; long res = 0; vector vs; for (int i = 0; i < N; ++i) { long A; cin >>A; vs.push_back(A); } for (int bit = 0; bit < (1 << N); ++bit) { long tmp = 0; for (int i = 0; i < N; ++i) { if (bit & (1 << i)) { tmp += vs[i]; } } if(tmp <= K) { res = max(res,tmp); } } cout << res << endl; return 0; }