격자 색칠하기

파란 칸이 있으면 왼쪽 위 모서리부터 그 칸까지의 직사각형이 모두 파란색이어야 할 때, 주어진 격자를 칠하는 경우의 수를 센다.

보통7동적 계획법조합론수학아직 제출이 없습니다시간 제한1초메모리 제한512 MB

문제

세로 mm칸, 가로 nn칸인 격자의 모든 칸을 빨강 또는 파랑으로 칠하려고 한다. 색칠은 다음 조건을 모두 만족해야 한다.

  • 모든 칸을 칠한다.
  • 일부 칸은 색이 이미 정해져 있다. 이미 정해진 칸의 색은 바꿀 수 없다.
  • 파란 칸마다, 격자의 왼쪽 위 칸과 그 칸을 양 끝으로 하는 직사각형 안의 칸이 모두 파랑이어야 한다.

조건을 만족하는 서로 다른 색칠 방법이 몇 가지인지 구하라. 격자는 회전할 수 없다.

입력

첫째 줄에 두 정수 mmnn이 공백으로 구분되어 주어진다 (1m,n301 \le m, n \le 30).

다음 mm개의 줄에는 격자를 나타내는 nn개의 문자가 주어진다. 문자 B는 이미 파랑으로 칠한 칸, R는 이미 빨강으로 칠한 칸, .는 아직 칠하지 않은 칸이다.

출력

서로 다른 색칠 방법의 수를 한 줄에 출력한다.

힌트

첫 번째 예제에서 가능한 색칠 6가지는 다음과 같다.

BB   BB   BR   BR   BB   BB
BB   BR   BR   BR   BR   BB
BR   BR   BR   RR   RR   RR