V,M=map(int ,input().split())
n=int(input())
v=[0 for i in range(n+1)]
m=[0 for i in range(n+1)]
val=[0 for i in range(n+1)]
for i in range(1,n+1):
v[i],m[i],val[i]=map(int,input().split())
dp=[[0 for j in range(M+1)] for i in range(V+1)]
for k in range(1,n+1):
for i in range(V,v[k]-1,-1):
for j in range(M,m[k]-1,-1):
dp[i][j]=max(dp[i][j],dp[i-v[k]][j-m[k]]+val[k])
print(dp[V][M])
