R,C,K=map(int,input().split())
G=[[0]*(C+1) for i in range(R+1)]
for i in range(K):
    r,c,v=map(int,input().split())
    G[r][c]=v
dp=[[0]*(C+1) for i in range(R+1)]
for i in range(1,R+1):
    d1,d2,d3=0,0,0
    for j in range(1,C+1):
        v=G[i][j]
        if v!=0:
            if d2!=0:
                d3=max(d3,d2+v)
            if d1!=0:
                d2=max(d2,d1+v)
            d1=max(dp[i-1][j]+v,d1)
        else:
            d1=max(dp[i-1][j],d1)
        dp[i][j]=max(d1,d2,d3)
print(dp[R][C]) R,C,K=map(int,input().split()) R map(int,input().split()) map int input().split() ().split () input split C K [0]*(C+1) for i in range(R+1) for i in range(R+1) i range(R+1) range R+1 R 1 for i in range(R+1) [0]*(C+1) [0] 0 C+1 C 1 G=[[0]*(C+1) for i in range(R+1)] G [[0]*(C+1) for i in range(R+1)] for i in range(K):
    r,c,v=map(int,input().split())
    G[r][c]=v i 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 G[r][c]=v G[r][c] [r] G r c v [0]*(C+1) for i in range(R+1) for i in range(R+1) i range(R+1) range R+1 R 1 for i in range(R+1) [0]*(C+1) [0] 0 C+1 C 1 dp=[[0]*(C+1) for i in range(R+1)] dp [[0]*(C+1) for i in range(R+1)] for i in range(1,R+1):
    d1,d2,d3=0,0,0
    for j in range(1,C+1):
        v=G[i][j]
        if v!=0:
            if d2!=0:
                d3=max(d3,d2+v)
            if d1!=0:
                d2=max(d2,d1+v)
            d1=max(dp[i-1][j]+v,d1)
        else:
            d1=max(dp[i-1][j],d1)
        dp[i][j]=max(d1,d2,d3) i range(1,R+1) range 1 R+1 R 1 d1,d2,d3=0,0,0 d1 0 d2 0 d3 0 for j in range(1,C+1):
        v=G[i][j]
        if v!=0:
            if d2!=0:
                d3=max(d3,d2+v)
            if d1!=0:
                d2=max(d2,d1+v)
            d1=max(dp[i-1][j]+v,d1)
        else:
            d1=max(dp[i-1][j],d1)
        dp[i][j]=max(d1,d2,d3) j range(1,C+1) range 1 C+1 C 1 v=G[i][j] v G[i][j] [i] G i j if v!=0:
            if d2!=0:
                d3=max(d3,d2+v)
            if d1!=0:
                d2=max(d2,d1+v)
            d1=max(dp[i-1][j]+v,d1)
        else:
            d1=max(dp[i-1][j],d1)
         v!=0 v 0 if d2!=0:
                d3=max(d3,d2+v)
             d2!=0 d2 0 d3=max(d3,d2+v) d3 max(d3,d2+v) max d3 d2+v d2 v if d1!=0:
                d2=max(d2,d1+v)
             d1!=0 d1 0 d2=max(d2,d1+v) d2 max(d2,d1+v) max d2 d1+v d1 v d1=max(dp[i-1][j]+v,d1) d1 max(dp[i-1][j]+v,d1) max dp[i-1][j]+v dp[i-1][j] [i-1] dp i-1 i 1 j v d1 d1=max(dp[i-1][j],d1) d1 max(dp[i-1][j],d1) max dp[i-1][j] [i-1] dp i-1 i 1 j d1 dp[i][j]=max(d1,d2,d3) dp[i][j] [i] dp i j max(d1,d2,d3) max d1 d2 d3 print(dp[R][C]) print dp[R][C] [R] dp R C v=map(int,input().split()) map(int,input().split()) v d2=max(d2,d1+v) max(d2,d1+v) d2 c,v=map(int,input().split()) map(int,input().split()) c R,C,K=map(int,input().split()) map(int,input().split()) R C,K=map(int,input().split()) map(int,input().split()) C dp=[[0]*(C+1) for i in range(R+1)] [[0]*(C+1) for i in range(R+1)] dp G=[[0]*(C+1) for i in range(R+1)] [[0]*(C+1) for i in range(R+1)] G r,c,v=map(int,input().split()) map(int,input().split()) r d3=max(d3,d2+v) max(d3,d2+v) d3 d1,d2,d3=0,0,0 0 d1 v=G[i][j] G[i][j] v d1=max(dp[i-1][j],d1) max(dp[i-1][j],d1) d1 K=map(int,input().split()) map(int,input().split()) K d1=max(dp[i-1][j]+v,d1) max(dp[i-1][j]+v,d1) d1 d3=0,0,0 0 d3 d2,d3=0,0,0 0 d2
R,C,K=map(int,input().split())
G=[[0]*(C+1) for i in range(R+1)]
for i in range(K):
    r,c,v=map(int,input().split())
    G[r][c]=v
dp=[[0]*(C+1) for i in range(R+1)]
for i in range(1,R+1):
    d1,d2,d3=0,0,0
    for j in range(1,C+1):
        v=G[i][j]
        if v!=0:
            if d2!=0:
                d3=max(d3,d2+v)
            if d1!=0:
                d2=max(d2,d1+v)
            d1=max(dp[i-1][j]+v,d1)
        else:
            d1=max(dp[i-1][j],d1)
        dp[i][j]=max(d1,d2,d3)
print(dp[R][C])
