#include<bits/stdc++.h>
using namespace std;
const int N=3000,M=1e8;
int v[N],w[N],f[M],Max,sum;
int main()
{
int n,l;
cin>>n>>l;
for(int i=1;i<=n;i++)
{
scanf("%d%d",&v[i],&w[i]);
sum+=v[i];
}
for(int i=1;i<=n;i++)
{
for(int j=sum;j>=v[i];j--)
{
f[j]=max(f[j],f[j-v[i]]+w[i]);
Max=max(Max,f[j]);
}
}
if(Max<l)cout<<"no solution";
else
{
for(int i=0;i<=sum;i++)
{
if(f[i]>=l)
{
cout<<i;
return 0;
}
}
}
return 0;
}