#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cstring>
using namespace std;
int m,v,n;
int a[101],b[101],c[101];
int f[301][301][3];
int Ai[201][201];
int use[201];
void find(int x,int y){
// cout<<x<<" "<<y;
if(f[x][y][0]==0)
return ;
find(f[x][y][1],f[x][y][2]);
cout<<f[x][y][0] <<" ";
return;
}
int main(){
scanf("%d%d%d",&m,&v,&n);
for(int i=1;i<=n;++i){
scanf("%d%d%d",&a[i],&b[i],&c[i]);
}
for(int i=1;i<=n;++i){
for(int j=m;j>=a[i];--j){
for(int z=v;z>=b[i];--z){
if(Ai[j][z]<Ai[j-a[i]][z-b[i]]+c[i]){
Ai[j][z]=Ai[j-a[i]][z-b[i]]+c[i];
f[j][z][0]=i;
f[j][z][1]=j-a[i];
f[j][z][2]=z-b[i];
}
}
}
}
// cout<<f[m][v][0] <<" "<<f[m][v][1] <<" "<<f[m][v][2] <<" ";
cout<<Ai[m][v]<<endl;
find(m,v);
return 0;
}