만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

그리드셉션

시간 제한30초메모리 제한1024 MB

난이도

아직 분류되지 않았습니다

정답자
아직 제출이 없습니다

문제

전설의 도둑 Jom Codd는 다른 사람의 꿈에 침입할 수 있다. 꿈을 들여다보는 기술이 아직 그리 좋지 않아서, Codd는 꿈을 흰색 또는 검은색 단위 칸으로 이루어진 꿈 격자로 본다.

시작 꿈 격자가 주어지면, Codd는 더 깊이 들어갈 수 있다. 흰 칸은 흰 칸으로 이루어진 2x2 격자로, 검은 칸은 검은 칸으로 이루어진 2x2 격자로 바꾼다. 그러면 가로세로가 각각 두 배, 넓이가 네 배인 새 꿈 격자가 만들어진다. Codd는 그 격자에서 다시 더 깊이 들어갈 수 있으며, 이를 계속 반복할 수 있다. 예를 들어 다음과 같은 시작 꿈 격자가 주어졌다고 하자:

BBB
BWB
BBB

한 번 더 깊이 들어가면 다음과 같은 새 꿈 격자가 나온다:

BBBBBB
BBBBBB
BBWWBB
BBWWBB
BBBBBB
BBBBBB

거기서 한 번 더 깊이 들어가면 다음 격자가 나온다:

BBBBBBBBBBBB
BBBBBBBBBBBB
BBBBBBBBBBBB
BBBBBBBBBBBB
BBBBWWWWBBBB
BBBBWWWWBBBB
BBBBWWWWBBBB
BBBBWWWWBBBB
BBBBBBBBBBBB
BBBBBBBBBBBB
BBBBBBBBBBBB
BBBBBBBBBBBB

이후도 같은 방식으로 계속된다.

Codd는 방금 어떤 꿈에 침입해 시작 꿈 격자를 살펴보았다. 매우 어려운 임무 중이며 여러 번 더 깊이 들어가야 한다는 것을 알고 있다. 길을 찾기 위해 시작 꿈 격자에 있는 여러 패턴을 살펴본다. 패턴은 변을 공유하며 연결된 칸들의 단일 집합과 그 칸들의 색으로 이루어진다. 꼭짓점만 맞닿은 경우는 연결로 보지 않는다. 패턴 안에는 빈 칸이 있을 수 있지만, 패턴의 칸들이 하나의 연결된 집합을 이루어야 한다. 이런 빈 칸은 패턴에 포함되지 않는다. 두 패턴은 칸의 수와 배치(회전하거나 뒤집지 않은 상태)가 같고 색도 같을 때에만 같은 패턴이다.

예를 들어 시작 격자에는 다음과 같은 8칸 패턴이 있다:

BBB
B B
BBB

이 패턴은 한 번 깊이 들어간 격자에는 없지만, 두 번, 세 번, 그 이상 깊이 들어간 모든 격자에는 있다.

Codd가 찾는 것은 시작 꿈 격자에 있으면서, 더 깊은 꿈 격자 중 적어도 구골(1010010^{100})개 이상에 나타나는 가장 큰 패턴이다. 위 예시에서는 앞의 패턴이 그런 가장 큰 패턴이다. 한 번 깊이 들어간 격자에는 없지만, 더 깊은 격자 중 구골 개 이상에는 나타난다. 크기가 더 작은 다른 패턴도 이 조건을 만족하지만, 9칸짜리 패턴 중에서는 만족하는 것이 없다. 그런 패턴이 있다면 시작 꿈 격자 전체와 똑같아야 하는데, 그런 패턴은 어떤 더 깊은 꿈 격자에도 나타나지 않으므로 구골 개의 격자에 나타날 수 없다.

입력

입력의 첫 줄에는 테스트 케이스의 개수 T가 주어진다. 이어서 T개의 테스트 케이스가 나온다. 각 테스트 케이스는 꿈 격자의 행 수 R과 열 수 C를 나타내는 두 정수로 시작한다. 그 뒤로 각각 C글자로 이루어진 R개의 줄이 이어진다. 각 글자는 B 또는 W이다. 이 줄들이 꿈 격자를 그대로 나타낸다.

출력

각 테스트 케이스마다 Case #x: y 형식의 한 줄을 출력한다. x는 테스트 케이스 번호(1부터 시작)이고, y는 Codd의 조건을 만족하는 패턴 가운데 하나의 가능한 최대 크기이다.

제한

1 <= T <= 100.

힌트

Sample Case #1은 문제에서 설명한 격자이다.

Sample Case #2에서 가능한 최대 패턴 중 하나는 다음과 같다:

BBB
WB

크기가 같은 다른 최대 패턴은 다음과 같다:

BBB
W W

Sample Case #3에서는 시작 꿈 격자 전체가 최대 패턴이다.

Sample Case #4에서 W 다섯 개는 서로 연결되어 있지 않아 유효한 패턴이 되지 못한다. 대신 다음 패턴이 최대 패턴이다:

WB
BW

Sample Case #5에서는 시작 꿈 격자 전체가 최대 패턴이다. 이 격자는 BW에서 깊이 들어간 결과와 같지만, Codd는 얕은 단계로 돌아가지 않으므로 이는 중요하지 않다.

예제1

  1. 예제 1

    입력
    5
    3 3
    BBB
    BWB
    BBB
    2 3
    BBB
    WBW
    1 1
    W
    3 3
    WBW
    BWB
    WBW
    2 4
    BBWW
    BBWW
    
    예상 출력
    Case #1: 8
    Case #2: 5
    Case #3: 1
    Case #4: 4
    Case #5: 8