#include using namespace std; using ll = long long; int main(){ // input int N,K; ll M; cin >> N >> M >> K; vector A(N+1); for(int i = 0; i < N; i++) cin >> A[i]; // prep set S; for(int i = 0; i <= N; i++) for(int j = 0; j <= N; j++) for(int k = 0; k <= N; k++) S.insert(A[i]+A[j]+A[k]); // solve ll ans = 0; for (auto idx : S){ auto it = S.upper_bound(M-idx); it--; ll tmp = idx + *it; if(tmp <= M) ans = max(ans,tmp); } cout << ans << endl; }