#include<bits/stdc++.h>
using namespace std;
using ll=long long;
struct B{
ll a,p,c,u,l;
};
B b[305];
ll dp[305];
int main(){
ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
ll n,x;
cin>>n>>x;
for(ll i = 1 ; i <= n ; i++){
cin>>b[i].a>>b[i].p>>b[i].c>>b[i].u>>b[i].l;
}
for(ll i = 1; i <= n ; i++){
for(ll j = x ; j>=0 ; j--){
for(ll k = 0 ; k <= b[i].l && k * b[i].c <= j - b[i].p ; k++){
dp[j] = max(dp[j], dp[ j - b[i].p - k*b[i].c ] + b[i].a + k*b[i].u);
}
}
}
cout<<dp[x]<<endl;
return 0;
}

京公网安备 11010502036488号