import sys def solve(): n = int(input()) A = [tuple(map(int, sys.stdin.readline().split())) for i in [0]*n] dp = [-1] * (1 << n) dp[0] = 0 for i in range(1 << n): if dp[i] < 0: continue for j in range(n): if i & (1 << j): continue for k in range(j + 1, n): if i & (1 << k): continue t = i | (1 << j) | (1 << k) if dp[t] < dp[i] + A[j][k]: dp[t] = dp[i] + A[j][k] break return dp[-1] print(solve())