import itertools as it n, m, k = map(int, input().split()) a = [0, 0, 0] + list(map(int, input().split())) + [0, 0, 0] dpl = set() for i, j, k in it.combinations_with_replacement([0, 0] + list([i for i in range(n // 2 + 3)]), 3): dpl.add(a[i] + a[j] + a[k]) dpr = set() for i, j, k in it.combinations_with_replacement([0, 0] + list([i for i in range(n // 2 + 3, n + 6)]), 3): dpr.add(a[i] + a[j] + a[k]) dpl = sorted(list(dpl)) dpr = sorted(list(dpr)) ans = 0 j = len(dpr) - 1 for i in range(len(dpl)): while j > 0 and dpl[i] + dpr[j] > m: j -= 1 if dpl[i] + dpr[j] <= m: ans = max(ans, dpl[i] + dpr[j]) print(ans)