#include<algorithm>
#include<cmath>
#include<deque>
#include<iomanip>
#include<iostream>
#include<list>
#include<map>
#include<queue>
#include<set>
#include<stdio.h>
#include<string>
#include<vector>
#pragma GCC optimeze(1)
#pragma GCC optimeze(2)
#pragma GCC optimeze(3,"Ofast","inline")
using namespace std;
int h,t,n,v[51],m[51],c[51],f[51][51][51];
int main() {
scanf("%d%d%d",&h,&t,&n);
for(int i=1;i<=n;i++) {
scanf("%d%d%d",&v[i],&m[i],&c[i]);
}
f[0][0][0]=1;
for(int i=1;i<=n;i++) {
for(int j=1;j<=h;j++) {
for(int k=1;k<=t;k++) {
if(j>=v[i]&&k>=m[i]) {
f[i][j][k]=max(f[i-1][j][k],f[i-1][j-v[i]][k-m[i]]);
}
else {
f[i][j][k]=f[i-1][j][k];
}
}
}
}
printf("%d",f[n][h][t]);
return 0;
}