#include<iostream>
using namespace std;
int N;
int x;
int y;
int n;
int a[15][15];
int f[15][15];
int ans1;
int ans2;
int ans;
void s(int p,int q){
if(p==1 && q==1) return;
a[p][q]=0;
if(p==1) return s(p,q-1);
if(q==1) return s(p-1,q);
if(f[p-1][q]>f[p][q-1]) return s(p-1,q);
else return s(p,q-1);
}
int main(){
cin>>N;
x=N;
while(x!=0){
cin>>x;
cin>>y;
cin>>n;
a[x][y]=n;
}
for(int i=1;i<=N;i++){
f[1][i]=a[1][i];
f[i][1]=a[i][1];
}
for(int i=2;i<=N;i++){
for(int j=2;j<=N;j++){
f[i][j]=max(f[i-1][j],f[i][j-1])+a[i][j];
}
}
ans1=f[N][N];
s(N,N);
for(int i=1;i<=N;i++){
f[1][i]=a[1][i];
f[i][1]=a[i][1];
}
for(int i=2;i<=N;i++){
for(int j=2;j<=N;j++){
f[i][j]=max(f[i-1][j],f[i][j-1])+a[i][j];
}
}
ans2=f[N][N];
ans=ans1+ans2;
cout<<ans;
return 0;
}