#include #include #include using namespace std; int main() { int gx, gy, n, f; cin >> gx >> gy >> n >> f; vector> dp(gx + 1, vector(gy + 1)); for (int i = 0; i <= gx; i++) for (int j = 0; j <= gy; j++) { dp[i][j] = (i + j) * f; } while (n--) { int a, b, c; cin >> a >> b >> c; for (int i = gx; i >= a; i--) for (int j = gy; j >= b; j--) { dp[i][j] = min(dp[i][j], dp[i - a][j - b] + c); } } cout << dp[gx][gy] << endl; return 0; }