#include <bits/stdc++.h>
using namespace std;
const int N = 1003;
int w[N],v[N],a[N][N];
int n,m;
int main()
{
cin >> n >> m;
for (int i = 1; i <= n; i ++ ) cin >> v[i] >> w[i];
for ( int i = 1 ; i <= n ;i++)
{
for ( int j = 1; j <= m ; j++)
{
a[i][j] = a[i-1][j];
if(j>=v[i])
{
a[i][j] = max(a[i][j],a[i-1][j-v[i]]+w[i]);
}
}
}
cout << a[n][m];
}