어린 빛의 왕은 장난감을 좋아한다. 요즘 마음에 들어 하는 장난감은 N×M 크기 직사각형 판의 각 칸에 대각선 거울을 꽂았다 뺐다 하는 장난감이다. 거울을 원하는 대로 꽂은 다음 테두리에 있는 어떤 칸의 중심을 향해, 그 칸의 바깥쪽 변에 수직으로 레이저를 쏘면 레이저가 다른 칸으로 빠져나온다. 어린 빛의 왕은 이 모습을 신기해한다.
테두리 칸에는 다음 방법으로 자연수 번호를 하나씩 붙였다.
네 모서리 칸은 번호를 두 개 받는다. 위쪽 변으로 들어가는 레이저와 왼쪽 변으로 들어가는 레이저는 서로 다른 번호를 쓴다. 예를 들어 N=2, M=3인 판의 테두리 번호는 다음과 같다.
1 2 3
4 . . . 6
5 . . . 7
8 9 10
어린 빛의 왕은 x에 레이저를 쏘면 y로 레이저가 나오는 장난감에 관심이 많다. 또 특별한 배치를 원하기 때문에, 원하는 거울 배치가 길이 M인 문자열 N개로 주어진다. 각 문자의 뜻은 다음과 같다.
/: 왼쪽에서 들어온 레이저는 위쪽으로, 위쪽에서 들어온 레이저는 왼쪽으로, 오른쪽에서 들어온 레이저는 아래쪽으로, 아래쪽에서 들어온 레이저는 오른쪽으로 반사하는 거울.\: 왼쪽에서 들어온 레이저는 아래쪽으로, 위쪽에서 들어온 레이저는 오른쪽으로, 오른쪽에서 들어온 레이저는 위쪽으로, 아래쪽에서 들어온 레이저는 왼쪽으로 반사하는 거울..: 거울이 없어 레이저가 아무 방해 없이 지나가는 칸.?: 위 셋 중 어느 것이 와도 되는 칸.?가 많을수록 만들 수 있는 배치가 많아진다. 그중 x에 쏜 레이저가 y로 나오는 배치가 몇 개인지 세는 프로그램을 작성하라.
첫 번째 줄에 판의 크기를 뜻하는 두 정수 N, M (1≤N,M≤8)과 두 정수 x, y (1≤x,y≤2(N+M))가 공백으로 구분되어 주어진다.
다음 N개 줄에는 각각 길이가 M인 문자열이 주어진다. 이 문자열은 /, \, ., ?로만 이루어져 있다.
첫 번째 줄에 x에 쏜 레이저가 y로 나오는 배치의 개수를 10007로 나눈 나머지를 출력한다.
거울을 꽂은 칸 하나는 네 변을 두 쌍으로 짝지어 준다. .은 위와 아래, 왼쪽과 오른쪽을 짝짓고, /는 위와 왼쪽, 아래와 오른쪽을 짝지으며, \는 위와 오른쪽, 아래와 왼쪽을 짝짓는다. 판 전체에서 변 조각이 이렇게 이어지면 테두리 번호는 항상 둘씩 짝을 이루므로, x와 y가 같으면 답은 0이다.