#include using namespace std; typedef long long ll; typedef long double ld; #define rep(i,n) for (int i = 0; i < (n); ++i) templatebool chmax(T &a, const T &b) { if (abool chmin(T &a, const T &b) { if (b> gx >> gy >> n >> f; vector x(n),y(n),c(n); rep(i,n){ cin >> x[i] >> y[i] >> c[i]; } int dp[gx+1][gy+1][n+1]={}; rep(i,gx+1){ rep(j,gy+1){ rep(k,n+1){ dp[i][j][k]=inf; } } } dp[0][0][0]=0; rep(i,n){ rep(j,gx+1){ rep(k,gy+1){ if(j+x[i]<=gx&&k+y[i]<=gy){ chmin(dp[j+x[i]][k+y[i]][i+1],dp[j][k][i]+c[i]); } chmin(dp[j][k][i+1],dp[j][k][i]); } } } int ans=inf; rep(i,gx+1){ rep(j,gy+1){ chmin(ans,dp[i][j][n]+gx-i+gy-j); } } cout << ans << endl; }