#include #include #include #include #include #include #include #include #include #include using namespace std; typedef long long ll; const ll MOD = 1000000007; int n, k; int a[25]; int dfs(int i, int j){ if (i == n) return 0; int ret; ret = dfs(i + 1, j); if (j + a[i] <= k){ ret = max(ret, a[i] + dfs(i + 1, j + a[i])); } return ret; } int main(void){ cin >> n >> k; for (int i = 0; i < n; i++) cin >> a[i]; cout << dfs(0, 0) << endl; }