#pragma GCC optimize ("O3") #pragma GCC target ("avx") #include using namespace std; constexpr int max_k = 2e6; int main() { int n, k; scanf("%d%d", &n, &k); assert (k <= max_k); bitset dp; dp[0] = true; while (n --) { int a_i; scanf("%d", &a_i); dp |= dp << a_i; } while (not dp[k]) k --; printf("%d\n", k); return 0; }