#include using namespace std; #define ll long long #define rep(i, n) for (int i = 0; i < (int)(n); i++) template bool chmin(T& a, T b){if(a > b){a = b; return true;} return false;} template bool chmax(T& a, T b){if(a < b){a = b; return true;} return false;} const long long mod=998244353; const long long mod2=469762049; const long long mod100=1000000007; int main(){ cout.tie()->sync_with_stdio(0); cin.tie(0); int H,W,sx,sy,N; cin>>H>>W>>sx>>sy>>N; auto check=[&](int a,int b,int c,int d){ if(a==c || b==d || a-b==c-d || a-b==d-c){ return true; } return false; }; int x[N+1],y[N+1]; ll c[N+1]; for(int i=1;i<=N;i++) cin>>x[i]>>y[i]>>c[i]; x[0]=sx; y[0]=sy; ll dp[N+1]; for(int i=0;i<=N;i++) dp[i]=0; for(int i=1;i<=N;i++){ if(check(x[i-1],y[i-1],x[i],y[i])){ chmax(dp[i],dp[i-1]+c[i]); } if(i>=2){ chmax(dp[i],dp[i-2]+c[i]); } chmax(dp[i],dp[i-1]); } cout<