#include <bits/stdc++.h>
using namespace std;
long long q[3]={0,1,0},p[3]={0,0,1};
long long n,i,j,g[200][200],ans=-0x3f3f3f3f;
long long f[15][15][15][15],a,b,c,d;
long long w1;
void dfs(long long x1,long long y1,long long x2,long long y2,long long sum)
{
int i,j;
if(f[x1][y1][x2][y2]>=sum)return;
f[x1][y1][x2][y2]=sum;
ans=max(ans,sum);
if(x1==n&&y1==n||x2==n&&y2==n)
{
ans=max(ans,sum);
return;
}
else for(i=1;i<=2;i++)
{
a=x1+q[i];
b=y1+p[i];
if(a<=n&&b<=n)
{
for(j=1;j<=2;j++)
{
c=x2+q[j];
d=y2+p[j];
if(c<=n&&d<=n)
{
if(a==c&&b==d)w1=sum+g[a][b];
else w1=sum+g[a][b]+g[c][d];
dfs(a,b,c,d,w1);
}
}
}
}
}
long long u,v,w;
int main()
{
cin>>n;
memset(f,-1,sizeof(f));
memset(g,0,sizeof(g));
cin>>u>>v>>w;
while(u!=0&&v!=0&&w!=0)
{
g[u][v]=w;
cin>>u>>v>>w;
}
dfs(1,1,1,1,g[1][1]);
cout<<ans;
return 0;
}