#include<bits/stdc++.h>
#define debug printf("%d %s\n",__LINE__,__FUNCTION__)
typedef long long ll;
typedef std::pair<int,int> pii;
#define pb push_back
#define mk make_pair
#define fi first
#define se second

int _w;FILE* _f;

using namespace std;

const int N=3001;

int R,C,K,val[N][N];

ll f[N][N][4],ans;

int main(){
    scanf("%d%d%d",&R,&C,&K);
    for(int i=1,u,v,w;i<=K;i++){
        scanf("%d%d%d",&u,&v,&w);
        val[u][v]=w;
    }
    for(int i=1;i<=R;i++){
        for(int j=1;j<=C;j++){
            for(int k=1;k<=3;k++){
                f[i][j][k]=max(max(f[i-1][j][3],f[i][j-1][k-1])+val[i][j],f[i][j-1][k]);
                ans=max(ans,f[i][j][k]);
            }
        }
    }
    printf("%lld\n",ans);
    return 0;
}