#include <bits/stdc++.h>
using namespace std;
int dp[2][5005];
int p[1005],cost[1005];
const int INF = 1<<30;
ifstream in("energii.in");
ofstream out("energii.out");
int main ()
{
int n,g,l=0;
in >> n >> g;
for (int i = 1; i<=n; i++)
in >> p[i] >> cost[i];
for (int i = 1; i<=g; i++)
dp[1][i] = dp[0][i] = INF;
for (int i = 1; i<=n; i++, l = 1-l)
{
for (int j = 1; j<=g; j++)
{
dp[l][j] = dp[1-l][j];
if (j<=p[i])
dp[l][j] = min(dp[l][j],cost[i]);
else
dp[l][j] = min(dp[l][j],dp[1-l][j-p[i]]+cost[i]);
}
}
dp[1-l][g]<INF ? out << dp[1-l][g] : out << "-1";
}