빛의 왕과 거울의 미로 1

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

문제

어린 빛의 왕은 장난감을 좋아한다. 요즘 가장 좋아하는 장난감은 N×MN \times M 크기 직사각형 판의 각 칸에 대각선 거울을 꽂았다 뺐다 할 수 있는 장난감이다. 거울을 원하는 대로 꽂은 다음 테두리 칸 하나의 중심을 향해 그 칸의 바깥 변과 수직으로 레이저를 쏘면 레이저가 다른 칸으로 빠져나온다. 어린 빛의 왕은 이 모습을 신기해한다.

어린 빛의 왕은 테두리에 있는 각 칸에 다음 방법으로 자연수 번호를 하나씩 붙였다.

  • 위쪽의 MM개 칸: 왼쪽에서 오른쪽으로 11부터 MM까지
  • 왼쪽의 NN개 칸: 위쪽에서 아래쪽으로 M+1M+1부터 M+NM+N까지
  • 오른쪽의 NN개 칸: 위쪽에서 아래쪽으로 M+N+1M+N+1부터 M+N+NM+N+N까지
  • 아래쪽의 MM개 칸: 왼쪽에서 오른쪽으로 M+N+N+1M+N+N+1부터 M+N+N+MM+N+N+M까지

모서리 칸은 두 변이 판 바깥과 닿으므로 번호를 두 개 받는다. 예를 들어 N=2N=2, M=3M=3인 판에서 첫 행의 세 칸은 왼쪽부터 11, 22, 33번이고, 왼쪽 열의 두 칸은 위에서부터 44, 55번, 오른쪽 열의 두 칸은 위에서부터 66, 77번, 마지막 행의 세 칸은 왼쪽부터 88, 99, 1010번이다. 왼쪽 위 칸은 11번이면서 동시에 44번이다. 번호는 레이저가 드나드는 변까지 가리킨다. 11번으로 쏜 레이저는 왼쪽 위 칸의 위쪽 변을 지나 아래로 들어가고, 44번으로 쏜 레이저는 같은 칸의 왼쪽 변을 지나 오른쪽으로 들어간다. yy번으로 빠져나온다는 말은 레이저가 yy번이 가리키는 변을 지나 판 바깥으로 나간다는 뜻이다.

어린 빛의 왕은 요즘 xx번으로 쏜 레이저가 yy번으로 빠져나오는 장난감에 큰 관심을 가진다. 그가 원하는 거울 배치는 길이가 MM인 문자열 NN개로 주어지고, 각 문자의 뜻은 다음과 같다.

  • / : 왼쪽에서 들어온 레이저를 위쪽으로, 위쪽에서 들어온 레이저를 왼쪽으로, 오른쪽에서 들어온 레이저를 아래쪽으로, 아래쪽에서 들어온 레이저를 오른쪽으로 반사하는 거울.
  • \ : 왼쪽에서 들어온 레이저를 아래쪽으로, 위쪽에서 들어온 레이저를 오른쪽으로, 오른쪽에서 들어온 레이저를 위쪽으로, 아래쪽에서 들어온 레이저를 왼쪽으로 반사하는 거울.
  • . : 거울이 없어 레이저가 아무 방해도 받지 않고 지나가는 칸.
  • ? : 위 셋 중 어느 것이 와도 상관없는 칸.

?가 많을수록 만들 수 있는 배치도 많아진다. 그중 xx번으로 쏜 레이저가 yy번으로 빠져나오는 배치가 몇 개인지 세는 프로그램을 작성하라.

입력

첫 줄에 직사각형 판의 크기를 뜻하는 두 정수 NN, MM (1N,M81 \le N, M \le 8)과 xx, yy (1x,y2(N+M)1 \le x, y \le 2(N+M))가 공백으로 구분되어 주어진다.

다음 NN개 줄에는 각각 길이가 MM인 문자열이 주어진다. 이 문자열은 /, \, ., ?로만 이루어져 있다.

판 전체에서 ?의 개수는 1212개 이하이다.

출력

첫 줄에 xx번으로 쏜 레이저가 yy번으로 빠져나오는 배치의 개수를 1000710007로 나눈 나머지를 출력한다.