# -*- coding: utf-8 -*- from queue import Queue import sys import subprocess import json import time import math import re #import sqlite3 import random #import numpy as np #from sklearn.datasets import fetch_mldata #from statistics import mean, median, variance, stdev #from chainer import cuda, Variable, FunctionSet, optimizers #import chainer.functions as F def ans(i, cur_weight): if (i == N): if (cur_weight <= K): return cur_weight else: return 0 return max( ans(i+1, cur_weight+A[i]), ans(i+1, cur_weight) ) N, K = map(int, input().split()) A = [int(input()) for i in range(N)] # print("N =", N) # print("K =", K) # for i in range(N): # print("A[i] =", A[i]) print(ans(0, 0))