import java.io.IOException;
import java.util.*;
public class Main {
Scanner in
= new Scanner
(System.
in); int num = in.nextInt();
int M = in.nextInt();
int round = num/2 + 1; //총 도는 횟수
int[] arr = new int[num];
ArrayList<Integer> maxArr = new ArrayList<>();
for(int i = 0; i < num; i++){
arr[i] = in.nextInt();
}
// 앞에서 3개씩 경우의 수 maxArr에 add 567, 568 , 569 578, 579 ...
for(int k = 0; k < round; k++) {
for (int j = 1+k; j < round + 1; j++) {
for (int m = 1 + j; m < num; m++) {
int one = arr[k];
int two = arr[j];
int three = arr[m];
maxArr.add(one + two + three);
}
}
}
int max = 0; //최대값이랑 사용자가 입력한 값 비교
for(int z = 0; z < maxArr.size(); z++){
if(maxArr.get(z) <= M){
max = maxArr.get(z);
}else{
break;
}
}
}
}
aW1wb3J0IGphdmEuaW8uSU9FeGNlcHRpb247CmltcG9ydCBqYXZhLnV0aWwuKjsKCnB1YmxpYyBjbGFzcyBNYWluIHsKICAgIHB1YmxpYyBzdGF0aWMgdm9pZCBtYWluKFN0cmluZ1tdIGFyZ3MpIHRocm93cyBJT0V4Y2VwdGlvbiB7CiAgICAgICAgU2Nhbm5lciBpbiA9IG5ldyBTY2FubmVyKFN5c3RlbS5pbik7CiAgICAgICAgaW50IG51bSA9IGluLm5leHRJbnQoKTsKICAgICAgICBpbnQgTSA9IGluLm5leHRJbnQoKTsKICAgICAgICBpbnQgcm91bmQgPSBudW0vMiArIDE7IC8v7LSdIOuPhOuKlCDtmp/siJgKICAgICAgICBpbnRbXSBhcnIgPSBuZXcgaW50W251bV07CiAgICAgICAgQXJyYXlMaXN0PEludGVnZXI+IG1heEFyciA9IG5ldyBBcnJheUxpc3Q8PigpOwogICAgICAgIGZvcihpbnQgaSA9IDA7IGkgPCBudW07IGkrKyl7CiAgICAgICAgICAgIGFycltpXSA9IGluLm5leHRJbnQoKTsKICAgICAgICB9CiAgICAgICAgLy8g7JWe7JeQ7IScIDPqsJzslKkg6rK97Jqw7J2YIOyImCBtYXhBcnLsl5AgYWRkIDU2NywgNTY4ICwgNTY5IDU3OCwgNTc5IC4uLgogICAgICAgIGZvcihpbnQgayA9IDA7IGsgPCByb3VuZDsgaysrKSB7CiAgICAgICAgICAgIGZvciAoaW50IGogPSAxK2s7IGogPCByb3VuZCArIDE7IGorKykgewogICAgICAgICAgICAgICAgZm9yIChpbnQgbSA9IDEgKyBqOyBtIDwgbnVtOyBtKyspIHsKICAgICAgICAgICAgICAgICAgICBpbnQgb25lID0gYXJyW2tdOwogICAgICAgICAgICAgICAgICAgIGludCB0d28gPSBhcnJbal07CiAgICAgICAgICAgICAgICAgICAgaW50IHRocmVlID0gYXJyW21dOwogICAgICAgICAgICAgICAgICAgIG1heEFyci5hZGQob25lICsgdHdvICsgdGhyZWUpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIENvbGxlY3Rpb25zLnNvcnQobWF4QXJyKTsgLy/qsr3smrDsnZgg7IiYIOygleugrAogICAgICAgIGludCBtYXggPSAwOyAvL+y1nOuMgOqwkuydtOuekSDsgqzsmqnsnpDqsIAg7J6F66Cl7ZWcIOqwkiDruYTqtZAKICAgICAgICBmb3IoaW50IHogPSAwOyB6IDwgbWF4QXJyLnNpemUoKTsgeisrKXsKICAgICAgICAgICAgaWYobWF4QXJyLmdldCh6KSA8PSBNKXsKICAgICAgICAgICAgICAgIG1heCA9IG1heEFyci5nZXQoeik7CiAgICAgICAgICAgIH1lbHNlewogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKG1heCk7CiAgICB9Cn0K