#include<iostream>
#include<cassert>
using namespace std;
#define REP(i,n) for (int i=0;i<(n);i++)
int N,K,A[21],sum=-1;
int main(){
    ios::sync_with_stdio(false);
    cin>>N>>K;
    REP(i,N){cin>>A[i];assert(0<=A[i]&&A[i]<=100000);}
    assert(1<=N&&N<=20);
    assert(0<=K&&N<=1000000000);
    REP(Bit,1<<N){
        int temp=0;
        REP(i,N){
            if(Bit&(1<<i)){
                temp+=A[i];
            }
        }
        if(temp<=K)sum=max(sum,temp);
    }
    cout<<sum<<endl;
    return 0;
}