#include using namespace std; int main() { int N; long long K; cin >> N >> K; vector A( N ); for( int i = 0; i < N; i++ ) { cin >> A[i]; } sort( A.begin(), A.end() ); vector dp( K + 1 ); for( int i = 0; i < N; i++ ) { long long a = A[i]; if( a > K ) continue; for( int j = a; j >= 0; j-- ) { if( a + dp[j] > K ) continue; dp[a + dp[j]] = max( dp[a + dp[j]], a + dp[j] ); } } long long ans = 0; for( int i = 0; i <= K; i++ ) { ans = max( ans, dp[i] ); } cout << ans << endl; }