#include<bits/stdc++.h>
using namespace std;
int n,m,a[114514],b[114514],c[114514],dp[114514];
int main(){
cin>>n>>m;
for(int i=1;i<=n;i++){
cin>>a[i]>>b[i]>>c[i];
}for(int i=1;i<=n;i++){
for(int w=0;w<b[i];w++){
deque<int> d;
for(int j=w;j<=m;j+=b[i]){
while(d.size() && dp[d.back()]+a[i]*((j-d.back())/b[i])<dp[j]){
d.pop_back();
}d.push_back(j);
while(d.size() && (j-d.front())/b[i]>c[i]){
d.pop_front();
}dp[j]=dp[d.front()]+a[i]*((j-d.front())/b[i]);
}
}
}cout<<dp[m];
return 0;
}