당신은 정보기관의 수장 M이며, 1번부터 N번까지의 암호명을 가진 N명의 첩보원을 거느리고 있습니다. 각 첩보원은 서로 다른 나라에 파견되어 그곳에서 중요한 정보 한 가지씩을 입수했습니다.
당신이 해야 할 일은 두 단계로 이루어집니다.
임무를 준비하고 수행하는 데 드는 최소 총비용(주선한 회동들의 비용 합과 파견한 첩보원들의 파견 비용 합)을 구하세요.
첫째 줄에 첩보원의 수 $N$이 주어집니다 ($2 \le N \le 1000$).
다음 $N$개의 줄에는 각각 $N$개의 정수가 주어집니다. $k$번째 줄의 $m$번째 정수는 첩보원 $k$와 $m$의 회동 비용이며, $m$번째 줄의 $k$번째 정수와 같고, 대각선 위치($k = m$)의 값은 $0$입니다. 모든 회동 비용은 $10^6$ 이하의 양의 정수입니다.
마지막 줄에는 $N$개의 정수 $M_1, M_2, \ldots, M_N$이 주어집니다 ($1 \le M_k \le 10^6$). $M_k$는 첩보원 $k$를 임무에 파견하는 비용입니다.
최소 총비용을 정수 하나로 출력합니다.
첫 번째 예제에서는 첩보원 1과 2, 그리고 2와 3 사이의 회동을 주선한 뒤 첩보원 2를 파견합니다.
두 번째 예제에서는 첩보원 2와 3 사이의 회동을 주선한 뒤 첩보원 1과 2를 파견합니다.
세 번째 예제에서는 첩보원 2와 4, 이어서 1과 2, 그리고 3과 5 사이의 회동을 주선한 뒤 첩보원 1과 3(또는 1과 5)을 파견합니다.