철도 노선 건설

주민 수와 통행 불가 칸이 있는 N x N 격자에서 두 역을 잇는 상하좌우 경로 중 지나는 칸의 가중치 합이 가장 작은 경로를 찾는다.

보통5그래프최단 경로동적 계획법면접 대비아직 제출이 없습니다시간 제한1초메모리 제한64 MB

문제

MRT 사가 전국에 철도를 놓는 일을 맡아 여러분을 채용했다.

지도는 한 변이 NN인 정사각형 격자다. 각 칸에는 그 칸에 사는 주민 수 CC가 적혀 있다. 철도가 지나가는 칸의 주민은 모두 이주해야 하므로, 두 역 AABB를 잇는 노선 가운데 이주 인원이 가장 적은 노선을 골라 그 인원을 구한다. 지반이 불안정하거나 언덕이 있어 철도를 놓을 수 없는 칸도 있다.

철도는 대각선으로 놓을 수 없고 상하좌우 네 방향으로만 이어진다. 노선은 역 AA가 있는 칸에서 시작해 역 BB가 있는 칸에서 끝나고, 두 역이 있는 칸도 노선에 포함된다. 이주 인원은 노선이 지나는 모든 칸의 주민 수를 더한 값이다.

입력

첫째 줄에 지도의 한 변 길이 NN이 주어진다. (2N4002 \le N \le 400)

둘째 줄에 네 정수 AxA_x, AyA_y, BxB_x, ByB_y가 주어진다. 차례대로 역 AAxx좌표와 yy좌표, 역 BBxx좌표와 yy좌표다. xx는 왼쪽에서부터, yy는 위에서부터 센다. 두 역의 위치는 서로 다르다. (1Ax,Ay,Bx,ByN1 \le A_x, A_y, B_x, B_y \le N)

셋째 줄부터 NN개의 줄에 걸쳐 각 줄에 NN개의 정수 CC가 공백으로 구분되어 주어진다. 위에서 ii번째 줄의 jj번째 수는 xx좌표가 jj이고 yy좌표가 ii인 칸의 값이다. 철도를 놓을 수 없는 칸은 1-1로 주어진다. (1C106-1 \le C \le 10^6)

출력

이주해야 하는 주민 수의 최솟값을 한 줄에 출력한다.

철도를 놓을 수 없는 칸을 지나지 않고는 두 역을 이을 수 없으면 1-1을 출력한다. 두 역 중 한 곳이라도 철도를 놓을 수 없는 칸에 있으면 노선을 만들 수 없으므로 이때도 1-1을 출력한다.