#include<iostream>
#include<stdio.h>
#include<vector>
using namespace std;


int n,w;
int a[1050];


int dp[1000050];
vector < int > v;

void input();
void solve();

int main()
    {
    input();
    solve();
    return 0;
    }


void input()
    {
    scanf("%d%d",&n,&w);
    int i;
    int sm=0;
    for(i=0;i<n;i++)
        {
        scanf("%d",&a[i]);
        sm+=a[i];
        }
    sm+=5;
    for(i=0;i<=sm;i++)
        {
        dp[i]=0;
        }
    v.clear();
    }
void solve()
    {
    dp[0]=1;
    v.push_back(0);
    int i,j;
    int sz=v.size();
    for(i=0;i<n;i++)
        {
        sz=v.size();
        for(j=0;j<sz;j++)
            {
            if(dp[v[j]+a[i]]==0)
                {
                dp[v[j]+a[i]]=1;
                v.push_back(v[j]+a[i]);
                }
            }
        }
    for(i=w;i>=0;i--)
        {
        if(dp[i]==1){break;}
        }
    printf("%d\n",i);
    }
