#include<iostream>
#include<cstdio>
#define MAXN 10042
using namespace std;

int d[MAXN], a[MAXN];
int n, w, used[MAXN];

void F (int S){
 //   if (d[S] == 1) return;
    d[S] = 1;
    for (int i=0; i<n; i++)
        if (used[i]==0)
            if (S-a[i]>=0){
            used[i] = 1;
            F(S-a[i]);
            used[i] = 0;
            }
}

int main (){
    scanf ("%d %d",&n,&w);
    for (int i=0; i<n; i++)
        scanf("%d",&a[i]);
    d[w] = 1;
    F(w);
    for (int i=0; i<=w; i++)
        if (d[i]==1) {printf ("%d\n",  w-i); return 0;}
    return 0;
}
