압수르디스탄의 도로

아직 제출이 없습니다시간 제한5초메모리 제한128 MB

문제

압수르디스탄 사람들은 작년에야 도로를 놓는 방법을 알아냈다. 그래서 NN개 도시가 각각 다른 도시로 이어지는 도로를 하나씩 놓았고, 모든 도로는 양방향으로 다닐 수 있다. 도로의 길이는 1 이상 1,000,000 이하의 정수다. 두 도시를 잇는 도로가 둘일 수도 있지만, 한 도시를 자기 자신과 잇는 도로는 없다.

NN개 도시의 공사는 정확히 1년 만에 끝났고, 공사가 끝난 뒤에는 새 도로만으로 어느 도시에서 어느 도시로든 갈 수 있었다.

관광 안내서에는 새 도로의 지도가 없다. 모든 도시 쌍의 최단 이동 거리를 적은 표만 실려 있다. 같은 표를 만드는 NN개 도로망이 여러 개일 수 있다. 표가 주어질 때, 표와 맞는 도로망 중 도로 길이의 합이 가장 작은 값을 구하라.

입력

입력은 여러 개의 테스트 케이스로 이루어지고, 파일이 끝나면 입력도 끝난다.

각 테스트 케이스의 첫 줄에 도시의 수인 정수 NN (2N20002 \le N \le 2000)이 주어진다. 도로의 수도 NN이다. 이어지는 NN개 줄에는 각각 정수 NN개가 주어진다. ii번째 줄의 jj번째 정수는 도시 ii에서 도시 jj까지의 최단 거리다. ii에서 ii까지의 거리는 0이고, ii에서 jj까지의 거리는 jj에서 ii까지의 거리와 같다. 서로 다른 두 도시 사이의 거리는 모두 양수이고 1,000,000 이하다. 표와 맞는 NN개 도로망이 적어도 하나 존재한다.

출력

각 테스트 케이스마다 표와 맞는 도로망의 도로 길이 합 중 가장 작은 값을 한 줄에 출력한다.