#include <fstream>
#include <algorithm>
using namespace std;
ifstream in("energii.in");
ofstream out("energii.out");
const int GMAX = (5 * 1e3) + 1;
int n, G, d[GMAX], mini = -1;
int main()
{
in >> n;
in >> G;
for (int i = 1; i < G; i++)
{
d[i] = -1;
}
for (int i = 1; i <= n; i++)
{
int cost, profit;
in >> cost >> profit;
for (int j = G - 1; j >= G - cost; j--)
{
if (d[j] != -1 && (mini == -1 || mini > d[j] + profit))
{
mini = d[j] + profit;
}
}
for (int j = G - cost - 1; j >= 0; j--)
{
if (d[j] != -1 && (d[j + cost] == -1 || d[j + cost] > d[j] + profit))
{
d[j + cost] = d[j] + profit;
}
}
}
out << mini;
return 0;
}