#include<bits/stdc++.h>
using namespace std;
struct g{int c,ma;}gr[110];
int dp[1000010];
int main()
{
int n,m;
scanf("%d %d",&n,&m);
for(int i=1;i<=n;i++)scanf("%d %d",&gr[i].ma ,&gr[i].c );
for(int i=1;i<=n;i++)
{
for(int j=gr[i].c ;j<=1000000;j++)
{
dp[j]=max(dp[j],dp[j-gr[i].c ]+gr[i].ma );
}
}
for(int i=1;i<=1000000;i++)
{
if(dp[i]>=m)
{
printf("%d",i);
return 0;
}
}
return 0;
}