#include "bits/stdc++.h" #define rep(a,b) for(int a = 0;a < b;a++) #define REP(i, x, n) for(int i = x; i < n; i++) #define P(a) cout << a << endl #define MP(a,b) make_pair(a,b) #define PB(a) push_back(a) using namespace std; typedef long long ll; typedef unsigned long long ull; typedef vector vi; int dx[] = { 1, -1 , 0 , 0 }; int dy[] = { 0, 0, 1, -1 }; ll MOD = 1000000007; int dp[2000000]; void solve() { int n,k; cin >> n >> k; rep(i,k+1)dp[i] = -1; dp[0] = 1; rep(i,n){ int a; cin >> a; for(int j = k+1;j >= 0;j--){ if(dp[j] == 1){ dp[j+a] = 1; } } } int ans = -1; rep(i,k+1){ if(dp[i] != -1){ ans = i; } } cout << ans << endl; } int main() { solve(); return 0; }