#include <bits/stdc++.h>
using namespace std;
ifstream in("energii.in");
ofstream out("energii.out");
const int oo = (int) (1e9);
int g, w, e[1001], c[1001], dp[1001][5001];
int main()
{
in>>g>>w;
for(int i = 1;i <= g;i++)
for(int j = 1;j <= w;j++)
dp[i][j] = oo;
for(int i = 1; i <= g; i++)
in>>e[i]>>c[i];
dp[1][e[1]] = c[1];
for(int i = 2; i <= g; i++)
{
for(int j = 1; j <= w; j++)
{
dp[i][j] = dp[i - 1][j];
if(e[i] <= j)
dp[i][j] = min(dp[i][j], dp[i - 1][j - e[i]] + c[i]);
else
dp[i][j] = min(dp[i][j], c[i]);
}
}
if(dp[g][w] != oo)
out<<dp[g][w];
else
out<<-1;
return 0;
}