import sys
input = sys.stdin.buffer.readline
H, W, K = map(int, input().split())
B = {}
for _ in range(K):
    r, c, v = map(int, input().split())
    B[(r, c)] = v

dp = [[0]*(W+1) for _ in range(4)]

for i in range(1, H+1):
    for j in range(1, W+1):
        if (i, j) in B:
            v = B[(i, j)]
            dp[0][j] = max(dp[0][j-1], dp[0][j], dp[1][j], dp[2][j], dp[3][j])
            dp[1][j] = max(dp[1][j-1], dp[0][j]+v)
            dp[2][j] = max(dp[2][j-1], dp[1][j-1]+v)
            dp[3][j] = max(dp[3][j-1], dp[2][j-1]+v)
        else:
            dp[0][j] = max(dp[0][j-1], dp[0][j], dp[1][j], dp[2][j], dp[3][j])
            dp[1][j] = dp[1][j-1]
            dp[2][j] = dp[2][j-1]
            dp[3][j] = dp[3][j-1]

print(max(dp[i][-1] for i in range(4))) import sys sys input = sys.stdin.buffer.readline input sys.stdin.buffer.readline sys.stdin.buffer sys.stdin sys stdin buffer readline H, W, K = map(int, input().split()) H map(int, input().split()) map int input().split() ().split () input split W K B = {} B {} for _ in range(K):
    r, c, v = map(int, input().split())
    B[(r, c)] = v _ range(K) range K r, c, v = map(int, input().split()) r map(int, input().split()) map int input().split() ().split () input split c v B[(r, c)] = v B[(r, c)] B (r, c) r c v [0]*(W+1) for _ in range(4) for _ in range(4) _ range(4) range 4 for _ in range(4) [0]*(W+1) [0] 0 W+1 W 1 dp = [[0]*(W+1) for _ in range(4)] dp [[0]*(W+1) for _ in range(4)] for i in range(1, H+1):
    for j in range(1, W+1):
        if (i, j) in B:
            v = B[(i, j)]
            dp[0][j] = max(dp[0][j-1], dp[0][j], dp[1][j], dp[2][j], dp[3][j])
            dp[1][j] = max(dp[1][j-1], dp[0][j]+v)
            dp[2][j] = max(dp[2][j-1], dp[1][j-1]+v)
            dp[3][j] = max(dp[3][j-1], dp[2][j-1]+v)
        else:
            dp[0][j] = max(dp[0][j-1], dp[0][j], dp[1][j], dp[2][j], dp[3][j])
            dp[1][j] = dp[1][j-1]
            dp[2][j] = dp[2][j-1]
            dp[3][j] = dp[3][j-1] i range(1, H+1) range 1 H+1 H 1 for j in range(1, W+1):
        if (i, j) in B:
            v = B[(i, j)]
            dp[0][j] = max(dp[0][j-1], dp[0][j], dp[1][j], dp[2][j], dp[3][j])
            dp[1][j] = max(dp[1][j-1], dp[0][j]+v)
            dp[2][j] = max(dp[2][j-1], dp[1][j-1]+v)
            dp[3][j] = max(dp[3][j-1], dp[2][j-1]+v)
        else:
            dp[0][j] = max(dp[0][j-1], dp[0][j], dp[1][j], dp[2][j], dp[3][j])
            dp[1][j] = dp[1][j-1]
            dp[2][j] = dp[2][j-1]
            dp[3][j] = dp[3][j-1] j range(1, W+1) range 1 W+1 W 1 if (i, j) in B:
            v = B[(i, j)]
            dp[0][j] = max(dp[0][j-1], dp[0][j], dp[1][j], dp[2][j], dp[3][j])
            dp[1][j] = max(dp[1][j-1], dp[0][j]+v)
            dp[2][j] = max(dp[2][j-1], dp[1][j-1]+v)
            dp[3][j] = max(dp[3][j-1], dp[2][j-1]+v)
        else:
            dp[0][j] = max(dp[0][j-1], dp[0][j], dp[1][j], dp[2][j], dp[3][j])
            dp[1][j] = dp[1][j-1]
            dp[2][j] = dp[2][j-1]
            dp[3][j] = dp[3][j-1] (i, j) in B (i, j) i j B v = B[(i, j)] v B[(i, j)] B (i, j) i j dp[0][j] = max(dp[0][j-1], dp[0][j], dp[1][j], dp[2][j], dp[3][j]) dp[0][j] [0] dp 0 j max(dp[0][j-1], dp[0][j], dp[1][j], dp[2][j], dp[3][j]) max dp[0][j-1] [0] dp 0 j-1 j 1 dp[0][j] [0] dp 0 j dp[1][j] [1] dp 1 j dp[2][j] [2] dp 2 j dp[3][j] [3] dp 3 j dp[1][j] = max(dp[1][j-1], dp[0][j]+v) dp[1][j] [1] dp 1 j max(dp[1][j-1], dp[0][j]+v) max dp[1][j-1] [1] dp 1 j-1 j 1 dp[0][j]+v dp[0][j] [0] dp 0 j v dp[2][j] = max(dp[2][j-1], dp[1][j-1]+v) dp[2][j] [2] dp 2 j max(dp[2][j-1], dp[1][j-1]+v) max dp[2][j-1] [2] dp 2 j-1 j 1 dp[1][j-1]+v dp[1][j-1] [1] dp 1 j-1 j 1 v dp[3][j] = max(dp[3][j-1], dp[2][j-1]+v) dp[3][j] [3] dp 3 j max(dp[3][j-1], dp[2][j-1]+v) max dp[3][j-1] [3] dp 3 j-1 j 1 dp[2][j-1]+v dp[2][j-1] [2] dp 2 j-1 j 1 v dp[0][j] = max(dp[0][j-1], dp[0][j], dp[1][j], dp[2][j], dp[3][j]) dp[0][j] [0] dp 0 j max(dp[0][j-1], dp[0][j], dp[1][j], dp[2][j], dp[3][j]) max dp[0][j-1] [0] dp 0 j-1 j 1 dp[0][j] [0] dp 0 j dp[1][j] [1] dp 1 j dp[2][j] [2] dp 2 j dp[3][j] [3] dp 3 j dp[1][j] = dp[1][j-1] dp[1][j] [1] dp 1 j dp[1][j-1] [1] dp 1 j-1 j 1 dp[2][j] = dp[2][j-1] dp[2][j] [2] dp 2 j dp[2][j-1] [2] dp 2 j-1 j 1 dp[3][j] = dp[3][j-1] dp[3][j] [3] dp 3 j dp[3][j-1] [3] dp 3 j-1 j 1 print(max(dp[i][-1] for i in range(4))) print max(dp[i][-1] for i in range(4)) max dp[i][-1] [i] dp i -1 r, c, v = map(int, input().split()) map(int, input().split()) r v = map(int, input().split()) map(int, input().split()) v input = sys.stdin.buffer.readline sys.stdin.buffer.readline input B = {} {} B K = map(int, input().split()) map(int, input().split()) K v = B[(i, j)] B[(i, j)] v c, v = map(int, input().split()) map(int, input().split()) c W, K = map(int, input().split()) map(int, input().split()) W H, W, K = map(int, input().split()) map(int, input().split()) H dp = [[0]*(W+1) for _ in range(4)] [[0]*(W+1) for _ in range(4)] dp
import sys
input = sys.stdin.buffer.readline
H, W, K = map(int, input().split())
B = {}
for _ in range(K):
    r, c, v = map(int, input().split())
    B[(r, c)] = v

dp = [[0]*(W+1) for _ in range(4)]

for i in range(1, H+1):
    for j in range(1, W+1):
        if (i, j) in B:
            v = B[(i, j)]
            dp[0][j] = max(dp[0][j-1], dp[0][j], dp[1][j], dp[2][j], dp[3][j])
            dp[1][j] = max(dp[1][j-1], dp[0][j]+v)
            dp[2][j] = max(dp[2][j-1], dp[1][j-1]+v)
            dp[3][j] = max(dp[3][j-1], dp[2][j-1]+v)
        else:
            dp[0][j] = max(dp[0][j-1], dp[0][j], dp[1][j], dp[2][j], dp[3][j])
            dp[1][j] = dp[1][j-1]
            dp[2][j] = dp[2][j-1]
            dp[3][j] = dp[3][j-1]

print(max(dp[i][-1] for i in range(4)))
