gx,gy,N,F = map(int,input().split()) lsxyz = [list(map(int,input().split())) for i in range(N)] inf = float('INF') dp = [[inf]*(gy+1) for i in range(gx+1)] dp[0][0] = 0 for i in range(gx+1): for j in range(gy+1): if 0 <= i-1: dp[i][j] = min(dp[i][j],dp[i-1][j]+F) if 0 <= j-1: dp[i][j] = min(dp[i][j],dp[i][j-1]+F) for x,y,z in lsxyz: if 0 <= i-x and 0 <= j-y: dp[i][j] = min(dp[i][j],dp[i-x][j-y]+z) print(dp[-1][-1])