#include<bits/stdc++.h>
using namespace std;
#define int long long
const int N=75e3;
int n,m,T,s[N],w[N],v[N],dp[N],cnt;
void solve(){
memset(dp,0,sizeof(dp));
for(int i=1;i<=cnt;i++){
for(int j=m;j>=w[i];j--){
dp[j]=max(dp[j],dp[j-w[i]]+v[i]);
}
}
cout<<dp[m]<<endl;
return;
}
signed main(){
ios::sync_with_stdio(false);
cin.tie(0);
cin>>T;
while(T--){
cin>>n>>m;
int a,b,c,k;
cnt=0;
for(int i=1;i<=n;i++){
cin>>a>>b>>c;
k=1;
while(k<=c){
++cnt;
w[cnt]=k*a;
v[cnt]=k*b;
c-=k;
k=k*2;
}
if(c>0){
++cnt;
w[cnt]=c*a;
v[cnt]=c*b;
}
}
solve();
}
return 0;
}