#include <cstdio>
#include <cstring>
#include <algorithm>

using namespace std;

int main()
{
	for(int n,m;~scanf("%d%d",&n,&m);){
		int c[n],s[n][3];
		for(int i=0;i<n;i++){
			scanf("%*c%*[^\n]");
			scanf("%d",c+i);
			for(int j=0;j<3;j++)
				scanf("%d",s[i]+j);
		}
		
		int dp[m+1][3];
		memset(dp,0,sizeof dp);
		
		for(int i=0;i<n;i++)
			for(int j=c[i];j<=m;j++)
				for(int k=0;k<3;k++)
					dp[j][k]=max(dp[j][k],dp[j-c[i]][k]+s[i][k]);
		int res=0;
		for(int i=0;i<=m;i++)
			for(int j=0;j<3;j++)
				res=max(res,dp[i][j]);
		printf("%d\n",res);
	}
}