우회전 운전자 클럽

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

문제

n×mn \times m개의 단위 칸으로 이루어진 직사각형 도시 지도가 주어진다 (1n1001 \le n \le 100, 1m1001 \le m \le 100). 행은 위에서 아래로 11부터 nn까지, 열은 왼쪽에서 오른쪽으로 11부터 mm까지 번호가 매겨진다. 각 칸은 빈 칸이거나 막힌 칸이며, 차량은 빈 칸으로만 다닐 수 있다.

빈 칸에서는 변을 맞대고 인접한 빈 칸으로 이동할 수 있다. 단, 방금 떠나온 칸으로 곧바로 되돌아갈 수는 없다(유턴 금지). 또한 좌회전은 절대 할 수 없다. 즉 매 이동 후에는 진행 방향을 기준으로 직진하거나 우회전만 할 수 있다. 출발 칸에서의 첫 이동은 아직 이전 방향이 없으므로 네 방향 중 어디로든 향할 수 있다.

경로의 길이는 그 경로가 지나가는 칸의 개수이며, 양 끝 칸도 포함하여 센다. 같은 칸을 여러 번 지나가면 지나간 횟수만큼 센다.

서로 다른 두 칸 AABB가 주어진다. 좌회전 없이 AA에서 BB까지 갈 수 있는지 판정하고, 갈 수 있다면 그러한 경로의 최소 길이를 구하여라. AA 또는 BB가 막힌 칸이면 경로는 존재하지 않는다.

입력

첫째 줄에 두 정수 nnmm이 공백 하나로 구분되어 주어진다.

다음 nn개의 줄에는 각각 길이 mm인 문자열이 주어지며, 지도의 한 행을 나타낸다. 문자열은 숫자 0011로 이루어진다. 00은 빈 칸, 11은 막힌 칸이다.

그다음 줄에는 칸 AA의 행 번호와 열 번호가 두 정수로 주어진다. 이어지는 줄에는 같은 형식으로 칸 BB의 행 번호와 열 번호가 주어진다. 두 칸 AABB는 서로 다르다. 입력은 항상 올바른 형식이므로 따로 검증할 필요가 없다.

출력

한 줄을 출력한다.

좌회전 없이 AA에서 BB로 가는 경로가 없거나 AA 또는 BB가 막힌 칸이면 NIE(폴란드어로 "아니오") 한 단어를 출력한다.

그렇지 않으면 정수 하나를 출력한다. 좌회전 없이 AA에서 BB까지 가는 경로의 최소 길이, 즉 AABB를 포함하여 지나가는 칸의 개수를 출력한다.