#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; }