#include <bits/stdc++.h>
using namespace std;
ifstream fin("energii.in");
ofstream fout("energii.out");
const int nmax = 1001;
const int gmax = 1000001;
int n,w;
int e[nmax], c[nmax];
int d[gmax];
void dp(){
for(int i = 1; i< gmax; i++)
d[i] = gmax+2222;
for(int i = 1; i <= n; i++){
for(int j = w; j>=0; j--){
int x = j+e[i];
if(d[x] > d[j]+ c[i])
d[x] = d[j]+c[i];
}
}
fout << d[w];
}
int main(){
fin >> n>>w;
int sum=0;
for(int i = 1; i<=n; i++){
fin >> e[i]>>c[i];
sum += e[i];
}
if(sum < w){
fout << "-1";
return 0;
} else if(sum == w){
int k=0;
for(int i = 1; i<=n; i++){
k+=c[i];
}
fout << k;
return 1;
}
dp();
return 0;
}