#include <iostream>
using namespace std;
const int N = 1010;
int n,V;
int v,w;
int p[N][N];
int f[N];
int main()
{
cin >> n >>V;
for(int i = 1; i <=n; i++)
{
cin >> v >> w;
for(int j = v; j <= V;j++)
{
f[j] = max(f[j-v] + w,f[j]);
}
for(int j = 0;j <= V;j++)
{
p[i][j] = p[i-1][j];
if(j>=v)
p[i][j] = max(p[i][j-v] + w,p[i][j]);
}
}
cout << p[n][V] << endl;
// cout << f[V] << endl;
return 0;
}