능력치 차이가 최소인 두 팀

N명을 두 팀으로 나눌 때 각 팀의 모든 순서쌍 능력 합의 차이를 최소로 만들고 그 최솟값을 출력한다.

보통6비트 연산완전 탐색배열조합론면접 대비아직 제출이 없습니다시간 제한2초메모리 제한512 MB

문제

NN명이 모여 축구를 하려고 한다. 이 사람들을 스타트 팀과 링크 팀으로 나눈다. 두 팀의 인원수는 같지 않아도 되지만, 각 팀에 적어도 한 명은 있어야 한다.

사람에게 1번부터 NN번까지 번호를 붙이고 능력치 표 SS를 조사했다. SijS_{ij}ii번 사람과 jj번 사람이 같은 팀일 때 그 팀에 더해지는 능력치다. 팀의 능력치는 그 팀에 속한 서로 다른 두 사람의 모든 순서쌍에 대한 능력치를 더한 값이다. SijS_{ij}SjiS_{ji}는 값이 다를 수 있고, ii번 사람과 jj번 사람이 같은 팀이면 SijS_{ij}SjiS_{ji}가 모두 그 팀의 능력치에 더해진다.

NN이 4이고 SS가 다음과 같은 경우를 보자.

SijS_{ij}j=1j=1j=2j=2j=3j=3j=4j=4
i=1i=10123
i=2i=24056
i=3i=37102
i=4i=43450

1번과 2번이 스타트 팀, 3번과 4번이 링크 팀이면 스타트 팀의 능력치는 S12+S21=1+4=5S_{12} + S_{21} = 1 + 4 = 5이고, 링크 팀의 능력치는 S34+S43=2+5=7S_{34} + S_{43} = 2 + 5 = 7이다. 1번과 3번이 스타트 팀, 2번과 4번이 링크 팀이면 스타트 팀은 S13+S31=2+7=9S_{13} + S_{31} = 2 + 7 = 9, 링크 팀은 S24+S42=6+4=10S_{24} + S_{42} = 6 + 4 = 10이다.

두 팀의 능력치 차이를 가장 작게 만드는 것이 목표다. 위 표에서는 1번과 4번이 스타트 팀, 2번과 3번이 링크 팀일 때 두 팀의 능력치가 모두 6이 되어 차이가 0이고, 이보다 작게 만들 수는 없다.

입력

첫째 줄에 NN이 주어진다. (4N204 \le N \le 20)

둘째 줄부터 NN개의 줄에 걸쳐 SS가 주어진다. 각 줄은 NN개의 수로 이루어지고, ii번째 줄의 jj번째 수가 SijS_{ij}다. SiiS_{ii}는 항상 0이고, 나머지 SijS_{ij}는 1 이상 100 이하의 정수다.

출력

첫째 줄에 스타트 팀과 링크 팀의 능력치 차이의 최솟값을 출력한다.