# 二维约束的DP
# dp(i, j, k) 表示前i个缸做选择,氧气至少总和为j,氮气至少总和为k的
# 所有选法中重量和的最小值
dp = [[0] * 100 for _ in range(100)]M, N = map(int, input().split())
K = int(input())arr = []
for i in range(K):a, b, c = map(int, input().split())arr.append((a, b, c))for i in range(K):for j in range(M, -1, -1):for k in range(N, -1, -1):if j == 0 and k == 0:dp[j][k] = 0else:if i == 0:dp[j][k] = arr[i][2] if arr[i][0] >= j and arr[i][1] >= k else 0x7fffffffelse:jj = max(0, j - arr[i][0])kk = max(0, k - arr[i][1])dp[j][k] = min(dp[jj][kk] + arr[i][2], dp[j][k])print(dp[M][N])