판 위의 주사위

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

문제

체스와 백개먼에 싫증이 난 나와 친구들은 새 게임을 만들었다. 백개먼 주사위 하나와 체스판을 닮은 판을 쓰는 1인용 게임이다.

판은 NNMM열이다. 각 칸은 비어 있거나 00부터 99까지의 숫자 하나가 적혀 있다. 여섯 면에 11부터 66까지가 적힌 주사위 하나가 시작 칸에 놓여 있고, 아랫면의 네 변은 판의 축과 나란하다. 이 주사위를 목표 칸까지 옮기면 된다.

행은 위에서 아래로 11번부터 NN번, 열은 왼쪽에서 오른쪽으로 11번부터 MM번이다. 앞은 행 번호가 작아지는 방향, 뒤는 행 번호가 커지는 방향, 오른쪽은 열 번호가 커지는 방향, 왼쪽은 열 번호가 작아지는 방향이다.

주사위의 처음 방향은 11부터 66까지를 한 번씩 쓴 문자열 SS로 주어진다. 각 자리는 차례대로 오른쪽, 왼쪽, 앞, 뒤, 위, 아래 면에 적힌 숫자다.

주사위는 다음 규칙에 따라 움직인다.

  1. 인접한 네 칸 중 한 칸으로, 그 방향의 면이 바닥에 닿도록 굴려서 옮긴다. 예를 들어 지금 방향이 136425이고 오른쪽 칸으로 옮기면 오른쪽 면이 새 칸에서 아랫면이 되므로 방향은 256431이 된다.
  2. 점수는 00에서 시작한다. 주사위를 옮겼을 때 새 아랫면의 숫자가 방금 들어간 칸의 숫자와 같으면 두 수의 합만큼 점수가 오르고, 다르면 두 수의 합만큼 점수가 내려간다. 목표 칸에 들어가는 이동은 점수를 바꾸지 않는다.
  3. 판 밖으로 나갈 수 없다.
  4. 시작 칸을 한 번 떠나면 그 칸에 다시 들어갈 수 없다.
  5. 목표 칸에 들어가면 그 칸을 떠날 수 없다.
  6. 숫자가 적혀 있지 않은 칸에는 들어갈 수 없다. 목표 칸만 예외다.

판의 상태와 시작 칸, 목표 칸, 주사위의 처음 방향이 주어진다. 규칙을 지켜 주사위를 시작 칸에서 목표 칸으로 옮길 때 얻을 수 있는 점수의 최댓값을 구하라.

입력

첫 줄에 테스트 케이스의 수 TT가 주어진다 (1T2001 \le T \le 200). 이어서 TT개의 테스트 케이스가 주어진다.

각 테스트 케이스는 N+2N + 2개의 줄로 이루어진다. 첫 줄에는 판의 행 수 NN과 열 수 MM이 주어진다 (1N,M101 \le N, M \le 10). 둘째 줄에는 시작 칸에 놓인 주사위의 처음 방향을 나타내는 문자열 SS가 주어진다. 남은 NN개의 줄에는 각각 MM개의 문자가 있고, ii번째 줄의 jj번째 문자는 판의 iijj열 칸의 값이다. 각 문자는 다음 중 하나다.

  1. .은 빈 칸이다.
  2. S는 시작 칸이며, 판에 정확히 한 번 나온다.
  3. T는 목표 칸이며, 판에 정확히 한 번 나온다.
  4. 0부터 9까지의 숫자는 그 칸에 적힌 값이다.

출력

각 테스트 케이스마다 한 줄에 다음 중 하나를 출력한다.

  1. 시작 칸에서 목표 칸으로 갈 수 없으면 Impossible
  2. 점수에 상한이 없어 끝없이 올릴 수 있으면 Infinity
  3. 그 밖의 경우에는 얻을 수 있는 점수의 최댓값