시간 제한메모리 제한제출정답맞힌 사람정답 비율
1 초 128 MB555100.000%

문제

Consider the following maze made of equilateral triangles:

Each vertex is described by two coordinates x and y as in the picture. Some of the edges have a white or a black circle on them. There are two major rules that control movement within the maze:

  • it is only allowed to pass edges with circles on them.
  • while walking through the maze it is obligatory to alternate white and black circles; i.e. it is only allowed to pass an edge with white circle if the last circle passed was black and vice versa. It is allowed to pass an edge with either black or white circle on it during the first move.

Write a program to find the length of the shortest path from the entrance point to the exit in the maze. The length of the path is defined as the number of edges (or circles) passed. You may assume that such path always exists.

입력

The first line contains two integers W and H which are the width and the height of the maze respectively (1 ≤ W, H ≤ 500). The second line consists of four integer values: X1 Y1 X2 Y2 (0 ≤ X1, X2 ≤ W; 0 ≤ Y1, Y2 ≤ H). (X1, Y1) are the coordinates of the entry point in the maze and (X2, Y2) are the exit coordinates.

The next 2H+1 lines provide the description of the edges: odd lines (3rd, 5th, etc) describe horizontal edges, and even lines (4th, 6th, etc) describe non-horizontal ones. Each line consists of a string of characters n, w and b, where n means, that there is no circle on the edge, and w or b means that there is white or black circle on the edge respectively. There are no spaces between these characters. Naturally, odd lines consist of exactly W characters, and even lines consist of exactly 2W+1 characters.

출력

Your program should output a single integer (the length of the shortest path from entrance point to the exit in the maze) in the first (and the only) line.

예제 입력 1

2 1
0 0 2 1
bb
nwwnw
bn

예제 출력 1

6

A simple maze. One possible shortest path is this:

(0, 0) → (1, 0) → (0, 1) → (1, 1) → (1, 0) → (2, 0) → (2, 1)

Here is the illustration of the maze and the shortest path:

예제 입력 2

5 4
0 2 5 2
nnbnn
nnnwwbwnnnn
nbbbn
nnwbwwbwwnn
bwwww
nnbwbbwwbnn
nwwwn
nnnnbwbbnnn
nnwnn

예제 출력 2

22

This is the description of the maze given in the picture on the above. The shortest path is this:

(0, 2) → (1, 2) → (1, 1) → (2, 1) → (2, 0) → (3, 0) → (3, 1) → (3, 2) → (4, 1) → (3, 1) → (3, 0) → (2, 0) → (2, 1) → (1, 1) → (1, 2) → (1, 3) → (2, 3) → (2, 4) → (3, 4) → (3, 3) → (4, 3) → (4, 2) → (5, 2)

(Length: 22)