Shirogane와 Shinomiya는 함께 하교하고 있다. 두 사람은 학교가 있는 에서 집이 있는 까지 최대한 오랫동안 함께 걸으려고 한다.
두 사람이 걸을 수 있는 곳은 크기의 격자로 주어진다. 위에서 번째 행, 왼쪽에서 번째 열에 있는 칸을 라고 한다. 각 칸에 적힌 .은 이동할 수 있는 길을, #은 이동할 수 없는 벽을 나타낸다.
두 사람은 다음 규칙을 모두 지키며 이동한다.
마지막 규칙은 가로로 이동한 직후 한 칸 내려왔을 때 곧바로 반대 가로 방향으로 이동할 수 없다는 뜻이다. 예를 들어 오른쪽, 아래쪽, 왼쪽으로 연속해서 이동하는 것은 금지되지만, 오른쪽, 아래쪽, 아래쪽, 왼쪽으로 이동하는 것은 허용된다. 물론 나머지 규칙도 모두 지켜야 한다.
인접한 칸으로 한 번 이동할 때의 거리는 이다. 에서 출발하여 에 도착하는 경로 중 가장 긴 경로의 이동 거리를 구하여라. 도착할 수 없다면 을 출력하여라.
입력은 다음과 같은 형식으로 주어진다.
각 테스트 케이스마다 가장 긴 유효한 경로의 이동 거리를 한 줄에 출력한다. 도착할 수 없다면 을 출력한다. 테스트 케이스가 입력된 순서대로 출력한다.
첫 번째 테스트 케이스에서는 오른쪽으로 한 칸, 아래쪽으로 한 칸 이동하여 집에 도착할 수 있다. 가장 긴 경로의 이동 거리는 이다.
두 번째 테스트 케이스에서는 출발점에서 이동할 수 있는 칸이 없으므로 집에 도착할 수 없다.
세 번째 테스트 케이스에서는 오른쪽으로 네 칸, 아래쪽으로 두 칸, 왼쪽으로 네 칸, 아래쪽으로 두 칸, 오른쪽으로 네 칸 이동할 수 있다. 이 경로는 모든 규칙을 만족하며 이동 거리는 이다. 이보다 긴 유효한 경로는 없다.
첫째 줄에 테스트 케이스의 개수 가 주어진다. 각 테스트 케이스는 다음과 같은 형식으로 주어진다.
각 테스트 케이스의 첫째 줄에 격자의 크기 이 주어진다. 다음 개의 줄 중 번째 줄에 격자의 번째 행을 나타내는 길이 의 문자열 가 주어진다.
. 또는 #이다 ()..이다.