#include <fstream>
#define e first
#define p second
using namespace std;
short int G, W, i, j;
int P[10000001], sol, lim;
pair <short int, short int> v[1001];
ifstream fin("energii.in");
ofstream fout("energii.out");
int main(){
fin>>G>>W;
for(i=1;i<=G;i++)
fin>>v[i].e>>v[i].p;
for(i=1;i<=10000;i++)
P[i]=10000100;
P[0]=0;
sol=10000100;
lim=W;
for(i=1;i<=G;i++)
for(j=lim;j>=0;j--)
if(P[j]!=10000100){
P[j+v[i].e] = min(P[j]+v[i].p, P[j+v[i].e]);
if(j+v[i].e>=W) {
if(j+v[i].e>lim)
lim=j+v[i].e;
if(sol>P[j+v[i].e])
sol=P[j+v[i].e];
}
}
if(sol==10000100)
fout<<"-1";
else
fout<<sol;
return 0;
}