#include <iostream>
#include <bits/stdc++.h>
using namespace std;

int main() {
	int n,W; cin>>n>>W;
	vector <int> v(n),w(n);
	
	for(int i=0; i<n; i++){
		cin>>v[i]>>w[i];
	}
	int dp[101][100005];
	// memset(dp, 0, sizeof(dp));
	for (int i=0; i<101; i++){
		for (int j=0; j<100005; j++){
			dp[i][j] = 1e9;
		}
	}
	
	dp[0][0] = 0;
	
	for (int i=0; i<n; i++){
		for (int j=0; j<100002; j++){
			if (j+v[i] < 100004){
				dp[i+1][j+v[i]] = min(dp[i][j]+w[i], dp[i+1][j+v[i]]);
				dp[i+1][j] = min(dp[i+1][j], dp[i][j]);
			}
		}
	}
	int ans = 0;
	for (int j=0; j<100004; j++){
		if (dp[n][j] <= W){
			ans = max(ans, j);
		}
	}
	
	cout<<ans<<endl;
	return 0;
}