#include long long int can(long long int x1, long long int y1, long long int x2, long long int y2) { if (x1 == x2 || y1 == y2 || x1 + y1 == x2 + y2 || x1 - y1 == x2 - y2) return 1; else return -1; } long long int x[500005], y[500005], c[500005]; long long int dp[500005]; int main() { long long int h, w, n; scanf("%lld %lld", &h, &w); scanf("%lld %lld", &x[0], &y[0]); scanf("%lld", &n); long long int i; for (i = 1; i <= n; i++) scanf("%lld %lld %lld", &x[i], &y[i], &c[i]); dp[0] = 0; if (can(x[0], y[0], x[1], y[1]) > 0) dp[1] = c[1]; else dp[1] = 0; for (i = 2; i <= n; i++) { dp[i] = dp[i - 2] + c[i]; if (can(x[i], y[i], x[i - 1], y[i - 1]) > 0) { if (dp[i] < dp[i - 1] + c[i]) dp[i] = dp[i - 1] + c[i]; } if (dp[i - 1] < dp[i - 2]) dp[i - 1] = dp[i - 2]; } if (dp[n - 1] > dp[n]) dp[n] = dp[n - 1]; printf("%lld\n", dp[n]); return 0; }