Gx, Gy, N, F = map(int, input().split()) xyc = [tuple(map(int, input().split())) for _ in range(N)] dp = [[[0 for _ in range(Gy+1)] for _ in range(Gx+1)] for _ in range(N+1)] for i in range(Gx+1): for j in range(Gy+1): dp[0][i][j] = (i + j) * F for i in range(N): xi, yi, ci = xyc[i] for j in range(Gx+1): for k in range(Gy+1): if 0 <= j - xi <= Gx and 0 <= k - yi <= Gy: dp[i+1][j][k] = min(dp[i][j][k], dp[i][j-xi][k-yi] + ci) else: dp[i+1][j][k] = dp[i][j][k] print(dp[N][Gx][Gy])