In [1]:
import itertools
n = int(input())
s = [list(map(int,input().split()))for i in range(n)]
def ability(n,s):
minus = []
s1 = []
s2 = []
numbers = {i for i in range(n)}
combinated = list(itertools.combinations(numbers,int(n/2)))
for i in combinated:
team2 = list(numbers-{*i})
team1 = list({*i})
permutated1 = list(itertools.combinations(team1,2))
permutated2 = list(itertools.combinations(team2,2))
semis1 = []
semis2 = []
for k in range(len(permutated1)) :
semis1.append(s[permutated1[k][0]][permutated1[k][1]] + s[permutated1[k][1]][permutated1[k][0]])
semis2.append(s[permutated2[k][0]][permutated2[k][1]] + s[permutated2[k][1]][permutated2[k][0]])
s1.append(sum(semis1))
s2.append(sum(semis2))
for i in range(len(s1)):
minus.append(abs(s1[i]-s2[i]))
return min(minus)
print(ability(n,s))