import java.util.Scanner;
public class Main2 {
static Scanner sc = new Scanner(System.in);
static int N= sc.nextInt(), M;
static int[] cards = new int[N];
static boolean[] result = new boolean[N];
static int maxSum;
public static void main(String[] args) {
M = sc.nextInt();
for(int i = 0; i < N ; i++) {
cards[i] = sc.nextInt();
}
comb(0,0,0);
System.out.println(maxSum);
}
private static void comb(int target, int cnt, int sum) {
if(cnt==3) {
if(M-sum>=0) {
if(sum>maxSum) {
maxSum = sum;
}
}
return;
}
if(target==N)
return;
result[target] = true;
comb(target+1, cnt+1, sum+cards[target]);
result[target] = false;
comb(target+1, cnt, sum);
}
}