#include <cstdio>
using namespace std;
const int inf = 1.e9;
int d[5005];
int min(int a,int b)
{
if(a>b)
return b;
return a;
}
int main()
{
freopen("energii.in","r",stdin);
freopen("energii.out","w",stdout);
int n,i,enmin,en,cost,rezolv=inf,j,last=0;
scanf("%d%d",&n,&enmin);
for(i=1;i<=enmin;i++)
d[i]=inf;
d[0]=0;
for(i=1;i<=n;i++)
{
scanf("%d%d",&en,&cost);
for(j=last;j>=0;j--)
{
if(d[j]!=inf)
{
if(j+en>=enmin)
{
if(d[j]+cost<rezolv)
{
rezolv=d[j]+cost;
}
}
else if(d[j+en]>d[j]+cost)
{
d[j+en]=d[j]+cost;
if(j+en>=enmin&&d[j+en]<rezolv)
rezolv=d[j+en];
}
}
}
last=min(last+en,enmin);
}
if(rezolv==inf)
{
printf("-1");
return 0;
}
printf("%d",rezolv);
return 0;
}