#include<iostream>
#include<cstring>
#include<algorithm>
#include<vector>
using namespace std;
const int N = 1e3 + 10;
long long win[N], lose[N], cnt[N];
long long f[N][N];
int n, m;
int main()
{
cin >> n >> m;
for (int i=1; i <= n; i ++)
cin >> lose[i] >> win[i] >> cnt[i];
for (int i=1; i <= n; i++)
{
for (int j=0; j <= m; j ++)
{
if (j >= cnt[i]) f[i][j] = max(f[i-1][j] + lose[i], f[i-1][j-cnt[i]] + win[i]);
else f[i][j] = f[i-1][j] + lose[i];
}
}
cout << f[n][m]*5 << endl;
return 0;
}