#include<stdio.h>
#include<string.h>
int max(int a,int b)
{
if(a>b)return a;
else
return b;
}
int main()
{
int i,t,n,m,h,c,p;
int z[1000];
scanf("%d",&t);
while(t--)
{
scanf("%d%d",&n,&m);
memset(z,0,sizeof(z));//先把数组定义为0,
while(m--)
{
scanf("%d%d%d",&p,&h,&c);
while(c--)
for(i=n;i>=p;i--)//逐步寻找出最大值!
z[i]=max(z[i],z[i-p]+h);//多次循环,每一次都从单价开始,每次都有单位重量的增加!
}
printf("%d\n",z[n]);
}
return 0;
}