#include<bits/stdc++.h>
using namespace std;
#define endl '\n'
#define int long long
#define INTMAX 1e15+5
#define N 1000005
int min(int a, int b) { if (a > b) swap(a, b); return a;}
int dp[100005][100];
int solveDp(int val, int index, int item[][2], int n) {
if (val <= 0) return 0;
if (index == n) return INTMAX;
if (dp[val][index] != -1) return dp[val][index];
dp[val][index] = min(item[index][0] + solveDp(val - item[index][1], index + 1, item, n),
solveDp(val, index + 1, item, n));
return dp[val][index];
}
int calc(int cap, int n, int item[][2]) {
for (int i = 100000; i >= 0; i--) {
if (solveDp(i, 0, item, n) <= cap) return i;
}
return 0;
}
void solve() {
int n, w; cin >> n >> w;
int item[n][2];
memset(dp, -1, sizeof(dp));
for (int i = 0; i < n; i++) cin >> item[i][0] >> item[i][1];
cout << calc(w, n, item);
}
signed main()
{
solve();
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKI2RlZmluZSBlbmRsICdcbicKI2RlZmluZSBpbnQgbG9uZyBsb25nCiNkZWZpbmUgSU5UTUFYIDFlMTUrNQojZGVmaW5lIE4gMTAwMDAwNQoKaW50IG1pbihpbnQgYSwgaW50IGIpIHsgaWYgKGEgPiBiKSBzd2FwKGEsIGIpOyByZXR1cm4gYTt9CgppbnQgZHBbMTAwMDA1XVsxMDBdOwoKaW50IHNvbHZlRHAoaW50IHZhbCwgaW50IGluZGV4LCBpbnQgaXRlbVtdWzJdLCBpbnQgbikgewogICAgICAgaWYgKHZhbCA8PSAwKSAgICByZXR1cm4gMDsKICAgICAgIGlmIChpbmRleCA9PSBuKSAgcmV0dXJuIElOVE1BWDsKICAgICAgIGlmIChkcFt2YWxdW2luZGV4XSAhPSAtMSkgICAgICAgcmV0dXJuIGRwW3ZhbF1baW5kZXhdOwoKICAgICAgIGRwW3ZhbF1baW5kZXhdID0gbWluKGl0ZW1baW5kZXhdWzBdICsgc29sdmVEcCh2YWwgLSBpdGVtW2luZGV4XVsxXSwgaW5kZXggKyAxLCBpdGVtLCBuKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNvbHZlRHAodmFsLCBpbmRleCArIDEsIGl0ZW0sIG4pKTsKICAgICAgIHJldHVybiBkcFt2YWxdW2luZGV4XTsKfQoKaW50IGNhbGMoaW50IGNhcCwgaW50IG4sIGludCBpdGVtW11bMl0pIHsKICAgICAgIGZvciAoaW50IGkgPSAxMDAwMDA7IGkgPj0gMDsgaS0tKSB7CiAgICAgICAgICAgICAgaWYgKHNvbHZlRHAoaSwgMCwgaXRlbSwgbikgPD0gY2FwKSAgICAgICByZXR1cm4gaTsKICAgICAgIH0KICAgICAgIHJldHVybiAwOwp9CgoKdm9pZCBzb2x2ZSgpIHsKICAgICAgIGludCBuLCB3OyAgICAgIGNpbiA+PiBuID4+IHc7CiAgICAgICBpbnQgaXRlbVtuXVsyXTsKICAgICAgIG1lbXNldChkcCwgLTEsIHNpemVvZihkcCkpOwogICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBuOyBpKyspIGNpbiA+PiBpdGVtW2ldWzBdID4+IGl0ZW1baV1bMV07CiAgICAgICBjb3V0IDw8IGNhbGModywgbiwgaXRlbSk7Cn0KCgoKCnNpZ25lZCBtYWluKCkKewogICAgICAgc29sdmUoKTsKfQ==