요코하마 현상
면접 대비시간 제한2초메모리 제한1024 MB
격자에서 인접한 칸을 따라 문자가 Y, O, K, O, H, A, M, A 순서로 이어지는 여덟 칸의 경로 수를 셉니다.
문제
요코하마 현상을 아는가? 이 현상은 탁자에 둘러앉은 세 명의 프로그래머가 보드 위로 펜 하나를 함께 잡을 때 일어난다. 보드에는 격자 모양의 칸이 그려져 있고, 각 칸에는 글자 하나가 적혀 있다. 참가자 누구도 펜을 일부러 움직이지 않지만, 펜촉은 Y가 적힌 칸 하나로 내려앉은 뒤 보드 위를 움직이기 시작한다. 지나는 칸에는 차례로 O, K, O, H, A, M이 적혀 있고, 펜촉은 마지막으로 A가 적힌 칸에서 멈춘다.
펜촉이 움직인 이 칸들의 나열을 YOKOHAMA 추적이라고 부른다. YOKOHAMA 추적은 다음 조건을 만족한다.
- 주어진 격자에서 고른 여덟 칸의 나열이다.
- 첫 칸을 제외한 각 칸은 나열에서 바로 앞 칸과 변을 공유한다.
- 여덟 칸에 적힌 글자는 순서대로
Y,O,K,O,H,A,M,A이다.
나열에는 같은 칸이 여러 번 나타날 수 있다.
그림 A.1 (a)는 보드를 보여 준다. 그림 A.1 (b)와 (c)는 이 보드에 있는 YOKOHAMA 추적 중 두 개의 이동 경로를 보여 준다. 두 추적 모두 맨 윗줄 가장 왼쪽 칸에서 시작한다. (c)의 추적은 O가 적힌 같은 칸을 두 번 지난다.

그림 A.1. 보드와 YOKOHAMA 추적 두 개의 이동 경로
주어진 격자의 각 칸에는 A, H, K, M, O, Y 중 하나의 글자가 적혀 있다. 격자에 나타나는 서로 다른 YOKOHAMA 추적이 몇 개인지 세라.
입력
입력은 다음 형식으로 주어지는 테스트 케이스 하나이다.
첫 줄에는 격자의 행 수와 열 수를 나타내는 두 정수 과 (, )이 주어진다. 이어지는 개의 줄은 칸에 적힌 글자를 나타낸다. 행 열 칸 (, )에는 가 적혀 있다. 각 는 A, H, K, M, O, Y 중 하나이다.
출력
서로 다른 YOKOHAMA 추적의 개수를 한 줄에 출력한다.