#include <fstream>
using namespace std;
ifstream f("energii.in");
ofstream g("energii.out");
#define WMAX 505
#define INF 100000000
int G, W, dp[WMAX], min_peste = INF;
void initializare() {
for (int i = 1; i <= W; i++)
dp[i] = INF;
}
void rezolvare() {
int EG, CG;
for (int i = 1; i <= G; i++) {
f >> EG >> CG;
if (EG > W) {
min_peste = min(min_peste, CG);
continue;
}
for (int en = W; en >= EG; en--)
dp[en] = min(dp[en], dp[en - EG] + CG);
}
}
int main() {
f >> G >> W;
initializare();
rezolvare();
g << min(dp[W], min_peste);
return 0;
}