#include #define FOR(i,bg,ed) for(ll i=(bg);i<(ed);i++) #define REP(i,n) FOR(i,0,n) #define MOD 1000000007 #define int long long using namespace std; typedef long long ll; const int INF = 1e9; int Gx, Gy, N, F; int x[300], y[300], c[300]; int dp[300][300]; signed main() { cin >> Gx >> Gy >> N >> F; int idx; for (idx=0; idx> x[idx] >> y[idx] >> c[idx]; REP(i,Gx) { x[idx] = 1; y[idx] = 0; c[idx] = F; idx++; } REP(i,Gy) { x[idx] = 0; y[idx] = 1; c[idx] = F; idx++; } REP(x,300) REP(y,300) dp[x][y] = INF; dp[0][0] = 0; for (int tx=0; tx<=Gx; tx++) { for (int ty=0; ty<=Gy; ty++) { REP(i,idx) { dp[tx+x[i]][ty+y[i]] = min(dp[tx+x[i]][ty+y[i]], dp[tx][ty] + c[i]); } } } cout << dp[Gx][Gy] << endl; }