중재
시간 제한10초메모리 제한1024 MB
가로 판사 n-1명과 세로 판사 m-1명에게 1부터 k까지의 표를 나누어 주는 방법 중, 모든 칸의 부호가 주어진 구역과 일치하는 경우의 수를 10^9+7로 나눈 나머지로 구합니다.
문제
중재 법원은 인접한 두 나라, 나라 A와 나라 B가 권리를 주장하는 만의 일부를 나누는 일을 맡았습니다. 만은 개의 행과 개의 열로 이루어진 직사각형 판으로 나타낼 수 있습니다. 행은 위에서 아래로 1부터 까지, 열은 왼쪽에서 오른쪽으로 1부터 까지 번호가 매겨집니다. 법원에는 명의 수평 심판과 명의 수직 심판이 있습니다. 각 수평 심판은 인접한 두 행 사이의 수평선 하나를 담당합니다. 마찬가지로 각 수직 심판은 인접한 두 열 사이의 수직선 하나를 담당합니다.

그림 1: 첫 번째 테스트 케이스의 분할과 일치하는 유효한 투표 조합 하나.
각 심판의 결과는 1 이상 이하의 자연수인 표입니다. 칸의 값은 그 칸의 위쪽 선과 왼쪽 선을 담당한 심판들의 표를 모두 더하고, 아래쪽 선과 오른쪽 선을 담당한 나머지 심판들의 표를 뺀 정수입니다. 투표가 끝나면 값이 음수인 칸은 나라 A에, 양수인 칸은 나라 B에 속합니다. 값이 0인 칸이 하나라도 있으면 투표 결과는 유효하지 않습니다.
각 칸이 어느 나라에 속해야 하는지 정해진 분할이 주어집니다. 투표가 유효하면서 주어진 분할을 만드는 서로 다른 투표 조합의 수를 라고 할 때, 를 로 나눈 나머지를 구하세요.
입력
첫 줄에 자연수 , , 가 주어집니다. 각각 만의 행 수, 열 수, 가능한 가장 큰 표입니다. 다음 개의 줄에는 만의 각 행을 나타내는 길이 의 문자열이 한 줄씩 주어집니다. 나라 A에 속해야 하는 칸은 "-"로, 나라 B에 속해야 하는 칸은 "+"로 표시됩니다.
출력
조합의 수를 로 나눈 나머지를 출력하세요.