#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
int n,m,v[3003][3003],K;
ll dp[3003][3003][4];
int main(){
	cin>>n>>m>>K;
	for(int i=1;i<=K;i++){
		int r,c,V;cin>>r>>c>>V;
		v[r][c]=V; 
	}
	dp[1][1][0]=0;if(v[1][1]>0)dp[1][1][1]=v[1][1];
	for(int i=1;i<=n;i++)for(int j=1;j<=m;j++)if(i>1||j>1){
		if(j>1){
			for(int k=0;k<4;k++)dp[i][j][k]=max(dp[i][j][k],dp[i][j-1][k]);
			if(v[i][j]>0)for(int k=0;k<3;k++)dp[i][j][k+1]=max(dp[i][j][k+1],dp[i][j-1][k]+v[i][j]);
		}
		if(i>1){
			for(int k=0;k<4;k++)dp[i][j][0]=max(dp[i][j][0],dp[i-1][j][k]);
			if(v[i][j]>0)for(int k=0;k<4;k++)dp[i][j][1]=max(dp[i][j][1],dp[i-1][j][k]+v[i][j]);
		}
	}
	ll ans=0;
	for(int i=0;i<4;i++)ans=max(ans,dp[n][m][i]);
	cout<<ans;
}