문제
당신은 레고로 쌓을 수 있는 모양의 설계도를 가지고 레고를 쌓으려고 한다. 설계도는 두 각도에서 보는 그림으로 구성되어있다. 설계도에 따르면 6x6크기의 기본 블록위에 2X2크기의 블록을 쌓을 수 있으며, 흰색(W), 회색(G), 검은색(B) 세 가지 색상의 블록을 무한대로 사용할 수 있고, 아래 그림의 규칙에 의해 쌓을 수 있다.

① 다른 블록 위에 블록을 올릴 수 있다. ② 불가능(블록이 공중에 떠 있다.) ③ 불가능(상단 블록이 기본 블록 밖으로 나갔다.)
입력
입력의 첫 번째 줄에 레고의 쌓는 높이 H(1≤H≤6)가 주어진다. 그 다음 H줄에 걸쳐 한쪽에서 본 모양을 블록의 색('W','G','B')과 '.'(블록이 없는 자리)를 나타내는 6개의 문자로 제공한다. 그리고 그 다음 H줄에 걸쳐 같은 방식으로 시계 반대 방향으로 90도 돌아간 위치에서 본 모양을 제공해준다.
출력
설계도 대로 블록을 쌓아서 만들수 있는 모양의 개수를 한 줄에 출력한다. 모양을 회전하거나 뒤집어서 구할 수 있는 경우도 모두 계산을 해야한다. 입력에 대한 답은 64비트 정수이내이다.
예제1
입력
2
WWGG..
.BB.WW
.WGG..
WWGG..
출력
6
힌트
출처
BOI 2010 First day