using namespace std;
long long n,l;
long long dp[1000005];
long long ci[2000000];
long long li[2000000];
long long m=0;
long long s=0;
int main(){
cin>>n>>l;
for(int i=1;i<=n;i++){
cin>>ci[i]>>li[i];
m+=li[i];
s+=ci[i];
}
if(m<l){
cout<<"no solution";
return 0;
}
for(int i=1;i<=n;i++){
for(int j=s;j>=ci[i];j--){
dp[j]=max(dp[j],dp[j-ci[i]]+li[i]);
}
}
for(int i=1;i<=l;i++){
if(dp[i]>=l){
cout<<i;
return 0;
}
}
// cout<<"no solution";
return 0;
}