#include #include #include #include using namespace std; long long T,n,t,i,j,now; struct qq{ long long a,b,c; bool operator < (const qq&X) const{ return (b*X.c)>(c*X.b); } }m[2000]; long long dp[4000]; int main(){ scanf("%I64d",&T); while(T--){ scanf("%I64d%I64d",&n,&t); memset(dp,0,sizeof(dp)); for(i=0;i=m[i].c;--j){ now=max((long long)0,m[i].a-(m[i].b*j)); dp[j]=max(dp[j],dp[j-m[i].c]+now); // printf("%I64d ",dp[j]); } // printf("\n"); } for(i=0;i