#include <stdio.h>

int tanri_calc(int saisyo,double riritu,int tesuu_ryo,int nensu) {
	int i;
	int risi=0;
	int now=saisyo;
	for(i=0;i<nensu;i++) {
		risi+=(int)(now*riritu);
		now-=tesuu_ryo;
	}
	return now+risi;
}

int fukuri_calc(int saisyo,double riritu,int tesuu_ryo,int nensu) {
	int i;
	int now=saisyo;
	for(i=0;i<nensu;i++) {
		now+=(int)(now*riritu);
		now-=tesuu_ryo;
	}
	return now;
}

int main(void) {
	int dataset_num,c_dataset;
	int saisyo;
	int nensu;
	int choice_num;
	int type;
	double riritu;
	int tesuu_ryo;
	int i;
	int now,result;
	scanf("%d",&dataset_num);
	for(c_dataset=0;c_dataset<dataset_num;c_dataset++) {
		scanf("%d",&saisyo);
		scanf("%d",&nensu);
		scanf("%d",&choice_num);
		result=0;
		for(i=0;i<choice_num;i++) {
			scanf("%d%lf%d",&type,&riritu,&tesuu_ryo);
			if(type) {
				now=fukuri_calc(saisyo,riritu,tesuu_ryo,nensu);
			} else {
				now=tanri_calc(saisyo,riritu,tesuu_ryo,nensu);
			}
			if(result<now)result=now;
		}
		printf("%d\n",result);
	}
	return 0;
}