#include<iostream>
#include<iomanip>
#include<cstdio>
#include<cmath>
#include<algorithm>
#include<queue>
using namespace std;
queue < int > q;
long long i,n,w,a[1024],k,j;
bool b[10005];
int main(){
//cin>>n>>w;
  scanf("%lld%lld",& n ,& w);
  for(i=1;i<=n;i++){
//    cin>>a[i];
  scanf("%lld",a+i);
  }
//  sort(a+1,a+n+1);

  for(i=1;i<=n;i++){
    for(j=1;j<=w;j++){
        if(b[j]==1){
        k=j+a[i];
        if(k<=w)q.push(k);
        }
        if(j==q.front()){
            b[j]=1;
            q.pop();
        }
    }
        b[a[i]]=1;
  }
    for(i=w;i>=1;i--){
     if(b[i]==1){cout<<i<<endl; break;}
    }


return 0;
}
/*
3 10
5 2 4


7 10
1 1 1 1 1 1 1


     if(a[1]==a[n] && a[n]==1){cout<<a[1]*n<<endl;}
     else

*/
