#define N 20
int n,a[20][20],dp[N][N],vis[N][N][2];
void dpp()
{
memset(dp,0,sizeof(dp));
memset(vis,-1,sizeof(vis));
for(int i = 1; i <= n; i++)
{
for(int j = 1; j <= n; j++)
{
if(dp[i - 1][j] >= dp[i][j - 1])
{
dp[i][j] = dp[i - 1][j];
vis[i][j][0] = i - 1;
vis[i][j][1] = j;
}
else
{
dp[i][j] = dp[i][j - 1];
vis[i][j][0] = i;
vis[i][j][1] = j - 1;
}
dp[i][j] += a[i][j];
}
}
}
int main()
{
cin >> n;
int b,c,d;
do
{
cin >> b >> c >> d;
a[b][c] = d;
}
while(b != 0 and c != 0 and d != 0);
dpp();
for(int i = vis[n][n][0],j = vis[n][n][1]; i != -1 and j != -1; i = vis[i][j][0],j = vis[i][j][1])
{
a[i][j] = 0;
}
int maxn = dp[n][n];
dpp();
cout << maxn + dp[n][n];
return 0;
}