#include<fstream>
using namespace std;
fstream fin,fout;
int n,gmax, a[5005],g,v,i,j,vmin;
int infinit=100000000;
int main(){
fin.open("energii.in",ios::in);
fout.open("energii.out",ios::out);
fin>>n>>gmax;
for(i=1;i<=gmax;i++){
a[i]=infinit;
}
a[0]=0; vmin=infinit;
for(i=1;i<=n;i++){
fin>>g>>v;
for(j=gmax-1;j>=0;j--){
if(a[j]<infinit && j+g<gmax && a[j+g]>a[j]+v){
a[j+g]=a[j]+v;
}
else{
if(a[j]<infinit && j+g>=gmax && a[j]+v<vmin){
vmin=a[j]+v;
}
}
}
}
if(vmin==infinit)fout<<-1;
else fout<<vmin;
fout.close();
fin.close();
return 0;
}