n = int(input())

grid = [[int(x) for x in input().split()] for _ in range(n)]

best_i, best_j = 0, 0

for i in range(n):
    for j in range(n):
        if grid[i][j] > grid[best_i][best_j]:
            best_i = i
            best_j = j

my_team = set([best_i, best_j])
scores = [0]*n
for i in range(n):
    for j in my_team:
        scores[i] += grid[i][j]

for _ in range(n//2 - 2):
    new_member = -1
    new_best_score = -10**20
    for j in range(n):
        if not j in my_team and scores[j] > new_best_score:
            new_member = j
            new_best_score = scores[j]
    my_team.add(new_member)
    for j in range(n):
        scores[j] += grid[j][new_member]

score = 0
for i in range(n):
    for j in range(i+1, n):
        if i in my_team and j in my_team:
            score += grid[i][j]
        elif i not in my_team and j not in my_team:
            score -= grid[i][j]




print(score)
