a[10][10],N,y,x,n,t,ans0,ans;
_Bool v[10][10],r[10][10];
dfs(y,x){
if(y>N||x>N)
return;
t+=a[y][x],v[y][x]=1;
if(y==N&&x==N){
if(t>ans){
ans=t;
for(int i=1;i<=N;i++)
for(int j=1;j<=N;j++)
r[i][j]=v[i][j];
}
t-=a[y][x],v[y][x]=0;
return;
}
dfs(y+1,x);
dfs(y,x+1);
t-=a[y][x],v[y][x]=0;
}
main(){
scanf("%d",&N);
while(~scanf("%d%d%d",&y,&x,&n)&&y)
a[y][x]=n;
dfs(1,1);
for(int i=1;i<=N;i++)
for(int j=1;j<=N;j++)
r[i][j]&&(a[i][j]=0);
ans0=ans,ans=0;
dfs(1,1);
printf("%d",ans0+ans);
}