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



int main(){
	int n,W;
	cin>>n>>W;
	vector<int> w(n),v(n);
	int value=0;
	for(int i=0;i<n;i++){
		cin>>w[i]>>v[i];
		value+=v[i];
	}
	vector<long long int > dp(value+1,(1e18L+5));
	dp[0]=0;
	for(int i=0;i<n;i++){
		for(int j=value;j>=0;j--){
			if(j>=v[i])
				dp[j]=min(dp[j],w[i]+dp[j-v[i]]);
		}
	}
	int ans=0;
	for(int i=0;i<=value;i++){
		if(dp[i]<=W){
			ans=max(ans,i);
		}
	}
	cout<<ans<<endl;
	return 0;
}
