#include<bits/stdc++.h>
using namespace std;
int mp[15][15];
int a,b,c,n;
int cost,ans;
void aha(int x,int y){
int w=0;
int ww=mp[x][y];
mp[x][y]=0;
for(int i=x;i<=n;i++){
for(int j=y;j<=n;j++){
if(mp[i][j]){
w=max(mp[i][j],w);
}
}
}
mp[x][y]+=w+ww;
}
int main(){
cin>>n;
cin>>a>>b>>c;
mp[a][b]=c;
while((a+b+c)!=0){
cin>>a>>b>>c;
mp[a][b]=c;
}
for(int i=n;i>=1;--i){
for(int j=n;j>=1;--j){
if(mp[i][j]){
aha(i,j);
}
}
}
int ii,jj;
//每次都要判断接下来走的这个右下角的矩形中和最大
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
if(mp[i][j]>cost){
cost=mp[i][j];
ii=i;
jj=j;
}
}
}
mp[ii][jj]=0;
ans+=cost;
cost=0;
for(int i=1;i<=n;i++)
for(int j=1;j<=n;j++){
cost=max(cost,mp[i][j]);
}
ans+=cost;
cout<<ans;
return 0;
}