#include <fstream>
#define MIN(a, b) (((a) > (b)) ? (b) : (a))
int n, g, e, p ;
int v[5001] ;
int main() {
freopen("energii.in", "r", stdin) ;
freopen("energii.out", "w", stdout) ;
register int i, j ;
scanf("%d %d", &n, &g) ;
for (i = 1 ; i <= g ; ++ i)
v[i] = (1 << 30) ;
for (i = 1 ; i <= n ; ++ i) {
scanf("%d %d", &e, &p) ;
for (j = g ; j >= 0 ; -- j)
if (j <= e) {
v[j] = MIN(v[j], p) ;
} else {
v[j] = MIN(v[j], v[j - e] + p) ;
}
}
if (v[g] != (1 << 30)) {
printf("%d", v[g]) ;
} else {
printf("-1") ;
}
return 0;
}