여기서 거기로 갈 수 없어요

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

문제

어느 원시적인 비디오 게임에서 점 하나가 직사각형 격자 안을 튕겨 다닙니다. 격자의 남서쪽(SW) 모서리는 좌표 $(0, 0)$이고 북동쪽(NE) 모서리는 $(r, c)$이며, $0 < r \le 10$, $0 < c \le 10$입니다. 따라서 남동쪽(SE) 모서리는 $(0, c)$, 북서쪽(NW) 모서리는 $(r, 0)$입니다. 즉 첫 번째 좌표는 남쪽에서 북쪽으로 $0$부터 $r$까지, 두 번째 좌표는 서쪽에서 동쪽으로 $0$부터 $c$까지 커집니다.

점은 항상 대각선으로, 한 번에 한 칸씩, NE, NW, SE, SW 네 방향 중 하나로 움직입니다. 격자의 바깥 변은 거울처럼 작동하여, 점이 변에 닿으면 일반적인 반사 법칙에 따라 튕겨 나갑니다. 예를 들어 NE 방향으로 이동하던 점이 동쪽 변에 부딪히면 방향이 NW로 바뀝니다. 점이 모서리에 닿으면 정반대 방향으로 되돌아갑니다.

격자 크기, 격자 위의 두 점 $A$와 $B$, 그리고 처음 이동 방향이 주어질 때, $A$에서 출발한 점이 $B$에 도달하는지, 도달한다면 처음으로 $B$에 닿기까지 몇 칸을 이동하는지 구하세요.

입력

첫 줄에는 데이터 집합의 개수 $n$이 주어집니다. 각 데이터 집합은 네 줄로 이루어집니다.

  • 격자 크기 $r$과 $c$가 적힌 줄;
  • 점 $A$의 좌표가 적힌 줄;
  • 점 $B$의 좌표가 적힌 줄;
  • 처음 이동 방향 NE, NW, SE, SW 중 하나가 적힌 줄.

각 점은 한 줄에 두 정수로 주어지며, 모서리 좌표와 같은 순서, 즉 첫 번째 값은 $[0, r]$, 두 번째 값은 $[0, c]$ 범위입니다.

출력

각 데이터 집합마다 정확히 한 줄을 출력합니다.

  • $A$에서 $B$에 도달할 수 있으면 B can be reached from A after k move(s).를 출력하되, k는 점이 처음으로 $B$에 닿기까지 이동한 칸 수입니다.
  • 도달할 수 없으면 B cannot be reached from A.를 출력합니다.