#include <bits/stdc++.h>
using namespace std;
const int MAXN = 10;
int grid[MAXN][MAXN];
int dp[MAXN][MAXN][MAXN][MAXN];
int main(){
int n;
cin >> n;
int x, y, num;
while(true){
cin >> x >> y >> num;
if(x == 0 && y == 0 && num == 0)
break;
grid[x][y] = num;
}
for(int x1 = 1; x1 <= n; x1++){
for(int y1 = 1; y1 <= n; y1++){
for(int x2 = 1; x2 <= n; x2++){
int y2 = x1 + y1 - x2;
if(y2 < 1 || y2 >n)
continue;
dp[x1][y1][x2][y2] = max({
dp[x1 - 1][y1][x2 - 1][y2],//下下
dp[x1 - 1][y1][x2][y2 - 1],//下右
dp[x1][y1 - 1][x2 - 1][y2],//右下
dp[x1][y1 - 1][x2][y2 - 1],//右右
});
if(x1 == x2 && y1 == y2){
dp[x1][y1][x2][y2] += grid[x1][y1];
}else{
dp[x1][y1][x2][y2] += grid[x1][y1] + grid[x2][y2];
}
}
}
}
cout << dp[n][n][n][n] << endl;
return 0;
}