// Templated by DEMAC. P1004
// 20221207
#include<bits/stdc++.h>
using namespace std;
#define int LL
using LL=long long;
using Pii=pair<int,int>;
using Pll=pair<LL,LL>;
//using real=double;
using Pdd=pair<double,double>;
#define rep(i,l,r) for(int i=(l);i<=(r);i++)
#define per(i,l,r) for(int i=(r);i>=(l);i--)
#define printAndContinue(x) {cout<<x<<endl;break;}
#define printAndBreak(x) {cout<<x<<endl;break;}
#define printAndKill(x) {cout<<x<<endl;exit(0)}
#define memset(x,k) memset(x,k,sizeof x)
#define Max(a,b) a=max(a,(b))
#define Min(a,b) a=min(a,(b))
const int inf=0x3f3f3f3f;
const LL infLL=0x3f3f3f3f3f3f3f3fll;
const int maxn=0+10;
int a[maxn][maxn];
int dp[maxn][maxn][maxn];
int base[4][2]={{-1,0},{0,-1}};
signed main()
{
int n;
cin>>n;
int x,y,k;
while(cin>>x)
{
if(x==0) break;
cin>>y>>k;
a[x][y]=k;
}
dp[1][1][1]=a[1][1];
rep(i,1,n) {
rep(j,1,n)
{
int bs=i+j;
rep(p,1,bs-1)
{
if(p==i) continue;
rep(b1,0,1){
rep(b2,0,1){
Max(dp[i][j][p],dp[i+base[b1][0]][j+base[b1][1]][p+base[b2][0]]+a[i][j]+a[p][bs-p]);
}
}
// cout<<i<<' '<<j<<' '<<p<<' '<<bs-p<<':'<<dp[i][j][p]<<endl;
}
}
}
cout<<max(dp[n][n-1][n-1],dp[n-1][n][n])+a[n][n];
return 0;
}
/* P1004 20221207*/
本蒟蒻太蒟了……