#include <cstring>
#include <iostream>
using namespace std;
typedef long long ll;
const int MAXN=1e5+7;
int N,W,ans;
ll w[MAXN],v[MAXN],f[MAXN];
int main()
{
	cin>>N>>W;
	for(int i=1;i<=N;i++) cin>>w[i]>>v[i];
	memset(f,127,sizeof(f));
	f[0]=0;
	for(int i=1;i<=N;i++)
		for(int j=MAXN-1;j>=v[i];j--)
			f[j]=min(f[j],f[j-v[i]]+w[i]);
	for(int i=0;i<MAXN;i++)
		if(f[i]<=W) ans=max(ans,i);
	cout<<ans<<endl;
	return 0;
}