#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<algorithm>
#include<iostream>
#include<fstream>
#include<map>
#include<ctime>
#include<set>
#include<queue>
#include<cmath>
#include<vector>
#include<bitset>
#include<functional>
#define x first
#define y second
#define mp make_pair
#define pb push_back
#define REP(i,l,r) for((i)=(l);(i)<=(r);++(i))
#define REP2(i,l,r) for((i)=(l);(i)!=(r);++(i))
using namespace std;
typedef long long LL;
typedef double ld;
const int MAX=100000+10;
int r,c,n;
struct peo
{
int x,y,sum;
}d[MAX];
int cmp(const peo& a,const peo& b)
{
if(a.x!=b.x)
return a.x<b.x;
else return a.y<b.y;
}
set< pair<int,int> > hash;
int main()
{
int i;
cin>>r>>c>>n;
REP(i,1,n)
scanf("%d%d%d",&d[i].x,&d[i].y,&d[i].sum);
sort(d+1,d+n+1,cmp);
hash.insert(mp(0,0));
int ans=0;
REP(i,1,n)
{
set< pair<int,int> >::iterator it=hash.upper_bound( mp(d[i].y+1,-1) );
--it;
int val=it->y+d[i].sum;
ans=max(ans,val);
while( ( it=hash.upper_bound( mp(d[i].y,-1 ) ) ) != hash.end() )
{
if(it->y<=val)
hash.erase(it);
else break;
}
hash.insert( mp( d[i].y,val ) );
}
cout<<ans<<endl;
return 0;
}
I2luY2x1ZGU8Y3N0ZGlvPgojaW5jbHVkZTxjc3RkbGliPgojaW5jbHVkZTxjc3RyaW5nPgojaW5jbHVkZTxhbGdvcml0aG0+CiNpbmNsdWRlPGlvc3RyZWFtPgojaW5jbHVkZTxmc3RyZWFtPgojaW5jbHVkZTxtYXA+CiNpbmNsdWRlPGN0aW1lPgojaW5jbHVkZTxzZXQ+CiNpbmNsdWRlPHF1ZXVlPgojaW5jbHVkZTxjbWF0aD4KI2luY2x1ZGU8dmVjdG9yPgojaW5jbHVkZTxiaXRzZXQ+CiNpbmNsdWRlPGZ1bmN0aW9uYWw+CiNkZWZpbmUgeCBmaXJzdAojZGVmaW5lIHkgc2Vjb25kCiNkZWZpbmUgbXAgbWFrZV9wYWlyCiNkZWZpbmUgcGIgcHVzaF9iYWNrCiNkZWZpbmUgUkVQKGksbCxyKSBmb3IoKGkpPShsKTsoaSk8PShyKTsrKyhpKSkKI2RlZmluZSBSRVAyKGksbCxyKSBmb3IoKGkpPShsKTsoaSkhPShyKTsrKyhpKSkKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCnR5cGVkZWYgbG9uZyBsb25nIExMOwp0eXBlZGVmIGRvdWJsZSBsZDsKCmNvbnN0IGludCBNQVg9MTAwMDAwKzEwOwoKaW50IHIsYyxuOwoKc3RydWN0IHBlbwp7CglpbnQgeCx5LHN1bTsKfWRbTUFYXTsKCmludCBjbXAoY29uc3QgcGVvJiBhLGNvbnN0IHBlbyYgYikKewoJaWYoYS54IT1iLngpCgkJcmV0dXJuIGEueDxiLng7CgllbHNlIHJldHVybiBhLnk8Yi55Owp9CgpzZXQ8IHBhaXI8aW50LGludD4gPiBoYXNoOwoKaW50IG1haW4oKQp7CglpbnQgaTsKCWNpbj4+cj4+Yz4+bjsKCVJFUChpLDEsbikKCQlzY2FuZigiJWQlZCVkIiwmZFtpXS54LCZkW2ldLnksJmRbaV0uc3VtKTsKCXNvcnQoZCsxLGQrbisxLGNtcCk7CgloYXNoLmluc2VydChtcCgwLDApKTsKCWludCBhbnM9MDsKCVJFUChpLDEsbikKCXsKCQlzZXQ8IHBhaXI8aW50LGludD4gPjo6aXRlcmF0b3IgaXQ9aGFzaC51cHBlcl9ib3VuZCggbXAoZFtpXS55KzEsLTEpICk7CgkJLS1pdDsKCQlpbnQgdmFsPWl0LT55K2RbaV0uc3VtOwoJCWFucz1tYXgoYW5zLHZhbCk7CgkJd2hpbGUoICggaXQ9aGFzaC51cHBlcl9ib3VuZCggbXAoZFtpXS55LC0xICkgKSApICE9IGhhc2guZW5kKCkgKQoJCXsKCQkJaWYoaXQtPnk8PXZhbCkKCQkJCWhhc2guZXJhc2UoaXQpOwoJCQllbHNlIGJyZWFrOwoJCX0KCQloYXNoLmluc2VydCggbXAoIGRbaV0ueSx2YWwgKSApOwoJfQoJY291dDw8YW5zPDxlbmRsOwoJcmV0dXJuIDA7Cn0=