덮어쓰기 게임

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

문제

HHWW열로 칸이 놓인 직사각형 판이 있다. 행에는 위에서 아래로 11번부터 HH번까지, 열에는 왼쪽에서 오른쪽으로 11번부터 WW번까지 번호를 붙인다. iijj열의 칸을 (i,j)(i, j)로 쓴다. 각 칸은 검은색이거나 흰색이다.

다음 연산으로 판을 칠한다.

  1. (i,j)(i, j)와 색 cc를 균등한 확률로 무작위로 고른다. 여기서 1iH1 \le i \le H, 1jW1 \le j \le W이고 cc는 검은색 또는 흰색이다. 2HW2HW가지 조합의 확률이 모두 같고, 각 연산은 앞선 연산과 독립이다.
  2. 1ii1 \le i' \le i이고 1jj1 \le j' \le j인 모든 칸 (i,j)(i', j')를 색 cc로 칠한다.

연산 한 번은 칸 i×ji \times j개를 칠한다. 연산으로 색이 실제로 바뀌지 않은 칸도 칠한 칸으로 센다.

예를 들어 3×43 \times 4 판에서 칸 (2,3)(2, 3)과 검은색을 골랐다고 하자. 이 연산은 (1,1)(1,1), (1,2)(1,2), (1,3)(1,3), (2,1)(2,1), (2,2)(2,2), (2,3)(2,3) 여섯 칸을 검은색으로 칠하므로, 이미 검은색이던 칸까지 세어 66칸을 칠한다.

판이 목표 색칠과 같아질 때까지 연산을 반복하고, 처음으로 같아지는 순간에 멈춘다. 처음 색칠과 목표 색칠이 주어질 때, 멈출 때까지 칠한 칸 수 총합의 기댓값을 구하라.

입력

입력은 여러 개의 데이터 집합으로 이루어지고, 데이터 집합은 최대 100100개이다.

각 데이터 집합의 첫 줄에는 판의 행 수와 열 수인 정수 HHWW가 주어진다 (1H,W51 \le H, W \le 5). 이어서 처음 색칠이 주어지고, 그 뒤에 목표 색칠이 주어진다. 색칠 하나는 WW개의 문자로 된 HH개의 줄로 주어지며, B는 검은 칸, W는 흰 칸을 뜻한다. 두 색칠 사이에 빈 줄이 하나 있고, 각 데이터 집합 뒤에도 빈 줄이 하나 있다.

입력의 끝은 00 두 개가 적힌 줄이다. 이 줄은 데이터 집합으로 처리하지 않는다.

출력

각 데이터 집합마다 칠한 칸 수 총합의 기댓값을 기약분수 p/qp/q 꼴로 한 줄에 출력한다. 분자, 빗금, 분모를 차례로 쓰며 q1q \ge 1이고 gcd(p,q)=1\gcd(p, q) = 1이어야 한다. 분모가 11이어도 함께 쓴다. 기댓값이 120120이면 120/1로 출력한다. 처음 색칠이 목표 색칠과 이미 같으면 연산을 하지 않으므로 답은 0/1이다.

기댓값은 항상 유한한 유리수이다.