#include<cstdio>
#include<algorithm>
using namespace std;
long long opt[106][100005];
int main()
{
	int v[106],w[105];
	int i,j,n,m;
	scanf("%d %d",&n ,&m);
	for(i = 1;i <= n;i++)
		scanf("%d %d",&w[i] ,&v[i]);
	for(i = 0;i <= n;i++)
		opt[1][i] = 0;
	for(i = 1;i <= n;i++)
	{
		for(j = 0;j <= m;j++)
		{
			//printf("%d*",j - w[i]);
			if(j - w[i] >= 1)
				opt[i][j] = max(opt[i - 2][j],opt[i - 1][j - w[i]] + v[i]);
			else opt[i][j] = opt[i - 2][j];
			//printf("%d ",opt[i][j]);
		}
		printf("\n");
	}
	printf("%lld\n",opt[n][m]);
	return 1;
}