호석사우루스

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

문제

음머... 미련한 소인 호석사우루스는 융통성 따위 일절 가지지 않는다. 자신의 철칙에 맞게 우직하게 미궁을 탈출하려고 한다. 미궁은 NNMM열의 격자로 이루어져 있고 각 칸마다 입장하는 순간 받는 충격량이 있다. 같은 방을 여러 번 들어가면, 들어갈 때마다 같은 충격량을 받게 된다. 당연히 똑똑한 소라면 최소의 충격을 받으면서 미궁을 탈출하던가, 애초에 미궁에 안 빠지도록 머리를 썼겠지만, 호석사우루스는 그런 거 없다!

그의 철칙은, 이동 방식에 있다. 매 이동 시 마다 움직일 수 있는 방향이 다르다.

  • 3K3K 번째 이동 시에는 상, 하, 좌, 우로 인접한 곳 중 한 칸으로 이동할 수 있다.
  • 3K+13K+1 번째 이동 시에는 상, 하로 인접한 곳 중 한 칸으로 이동할 수 있다.
  • 3K+23K+2 번째 이동 시에는 좌, 우로 인접한 곳 중 한 칸으로 이동할 수 있다.
  • 만약 이동하려는 곳에 벽이 있으면 이동할 수 없다.
  • 최초의 이동은 1번째 이동이고, 이후에 2번째, 3번째 이동이다.

자신의 철칙을 지키되, 아픈 건 싫어하는 호석사우루스를 도와서 탈출구까지의 최소 충격량을 구해주자!

입력

첫 번째 줄에 격자의 크기 NN, MM이 주어진다.

두 번째 줄에 시작 지점과 도착 지점의 정보인 S_xS\_x, S_yS\_y, E_xE\_x, E_yE\_y 가 공백으로 구분되어 주어진다. 시작 지점이 S_xS\_x행 S_yS\_y열이며 도착 지점이 E_xE\_x행 E_yE\_y열임을 의미한다. 시작 지점과 도착 지점은 항상 다르다.

세 번째 줄부터 NN 개 줄에 걸쳐서 지도의 정보가 주어진다. 각 줄마다 MM 개의 정수가 주어진다. i+2i+2번 줄의 jj번째 숫자는 iijj열에 위치한 격자의 충격량을 의미한다. 만약 충격량 정보가 1-1이라면 해당 격자는 벽임을 의미한다.

시작점과 도착점의 충격량은 0 임이 보장된다.

출력

첫 번째 줄에 호석사우루스가 탈출하는 과정에서 받는 최소 충격량을 출력한다. 만약 탈출하지 못한다면 1-1 을 출력한다.

제한

  • 1 ≤ NNMM ≤ 100
  • 1 ≤ S_x, E_xS\_x, E\_xNN
  • 1 ≤ S_y,E_yS\_y, E\_yMM
  • -1 ≤ 각 칸의 충격량 ≤ 300