Becca 和 Terry 是两位微生物学家,他们之间有着友好的竞争关系。当他们需要从研究中休息一下时,他们喜欢一起玩一个游戏。游戏在一个包含 $R$ 行 $C$ 列的单元格矩阵上进行。最初,每个单元格要么是空的,要么包含放射性物质。
在每个玩家的回合中,如果矩阵中没有空单元格,该玩家输掉游戏。否则,他们选择一个空单元格并在其中放置一个细菌菌落。细菌菌落有两种类型:H(代表“水平”)和 V(代表“垂直”)。
- 当 H 型菌落被放置在一个空单元格中时,它会占据该单元格(使其变为非空),并尝试向紧邻的西侧单元格(如果存在)和紧邻的东侧单元格(如果存在)扩散。
- 当 V 型菌落被放置在一个空单元格中时,它会占据该单元格(使其变为非空),并尝试向紧邻的南侧单元格(如果存在)和紧邻的北侧单元格(如果存在)扩散。
每当一个菌落(无论哪种类型)尝试扩散到一个单元格时:
- 如果该单元格包含放射性物质,菌落会发生突变,放置该菌落的玩家输掉游戏。
- 如果该单元格是空的,菌落会占据该单元格(使其变为非空),然后再次触发上述规则(即菌落会尝试进一步扩散)。
- 如果该单元格已经包含细菌(任何类型),菌落不会扩散到该单元格。
注意,玩家所有可用的移动都可能导致他们输掉游戏,从而陷入绝境。请参阅下方的样例解释以了解游戏的工作原理。
Becca 先手,然后两名玩家轮流移动,直到其中一人输掉游戏。如果双方都采取最优策略,谁会赢?如果 Becca 会赢,她有多少种不同的获胜开局移动?(当且仅当两次开局移动使用了不同的单元格,或者使用了不同种类的菌落,或者两者皆有时,它们才被视为不同。)
输入格式
输入的第一行给出测试用例的数量 $T$。接下来是 $T$ 个测试用例。每个测试用例的第一行包含两个整数 $R$ 和 $C$,分别代表矩阵的行数和列数。然后是 $R$ 行,每行包含 $C$ 个字符。这些行中第 $i$ 行的第 $j$ 个字符代表矩阵中第 $i$ 行第 $j$ 列的状态。每个字符要么是 .(空单元格),要么是 #(包含放射性物质的单元格)。
输出格式
对于每个测试用例,输出一行 Case #x: y,其中 $x$ 是测试用例编号(从 1 开始),$y$ 是一个整数:如果 Becca 不会赢,则为 $0$;如果 Becca 会赢,则为她可以采取的获胜开局移动的数量,如上所述。
数据范围
$1 \le T \le 100$。
测试集 1(可见) $1 \le R \le 4$ $1 \le C \le 4$
测试集 2(隐藏) $1 \le R \le 15$ $1 \le C \le 15$
样例
样例输入 1
5 2 2 .. .# 4 4 .#.. ..#. #... ...# 3 4 #.## .... #.## 1 1 . 1 2 ##
样例输出 1
Case #1: 0 Case #2: 0 Case #3: 7 Case #4: 2 Case #5: 0
说明
在样例 1 中,Becca 不能在西南角的空单元格放置 H 型菌落,也不能在东北角的空单元格放置 V 型菌落,因为这会扩散到放射性单元格,导致 Becca 输掉游戏。她只有两种不会立即导致失败的策略:
- 在西北角或东北角的空单元格放置 H 型菌落。该菌落也会扩散到这两个单元格中的另一个。
- 在西北角或西南角的空单元格放置 V 型菌落。该菌落也会扩散到这两个单元格中的另一个。
如果 Becca 选择策略 1,Terry 可以在西南角的空单元格放置一个 V 型菌落。如果 Becca 选择策略 2,Terry 可以在东北角的空单元格放置一个 H 型菌落。无论哪种情况,Becca 在下一回合都没有空单元格可选,因此她输了,Terry 赢了。
在样例 2 中,Becca 的任何开局移动都会导致突变。
在样例 3 中,Becca 的 5 种可能的开局移动会导致突变,但另外 7 种是获胜的。她可以在第二行的任何单元格放置 H 型菌落,或者在第二列的任何单元格放置 V 型菌落。无论哪种情况,她都会留下两个不相连的集合,每个集合包含 1 或 2 个单元格。在每个集合中,只能放置一种类型的菌落,并且放置它会消耗该集合中的所有空单元格。因此,无论 Terry 选择消耗哪一个集合,Becca 都可以消耗另一个,使 Terry 无路可走。
在样例 4 中,Becca 的两种不同的可能开局移动都是获胜的。
在样例 5 中,Becca 没有可能的开局移动。