#!/usr/bin/env python import pulp def maximize(capacity, weight): r = range(len(weight)) problem = pulp.LpProblem(sense=pulp.LpMaximize) variable = [pulp.LpVariable('x%d'%i, cat=pulp.LpBinary) for i in r] problem += pulp.lpDot(weight, variable) problem += pulp.lpDot(weight, variable) <= capacity problem.solve() return pulp.value(problem.objective) indat = [int(x) for x in input().split()] weights = list() for i in range(indat[0]): x = int(input()) if x < indat[1]: weights.append(x) elif x == indat[1]: print(x) exit() ans = int(maximize(indat[1], weights)) print(ans)