CF2132G Famous Choreographer
题目描述
众所周知,有 $n \times m$ 名芭蕾舞者正在表演芭蕾舞,她们的排列可以用一个有 $n$ 行 $m$ 列的表格表示。每位舞者表演 26 种动作中的一种,这些动作可以用一个小写英文字母来描述。
编舞家 Vadim 想要打破这个“定律”。为此,他想要安排一场演出,让所有舞者优雅地移动到舞台上与起始位置相对的位置。对于程序员来说,这个移动可以理解为将表格旋转 $180^\circ$。为了保持芭蕾舞视觉叙事的连贯性,舞者们会瞬间完成这个动作,且最终的排列与初始排列完全相同。
不幸的是,Vadim 明白以当前的表演和已经安排好的舞者阵容,这样的动作是不可能完成的。因此,他准备邀请更多的舞者加入演出。她们可以表演任意动作,站在任意位置,但不能站在已经参与表演的舞者之间。最重要的是,最终必须形成一个矩形表格,可能比原来的更大。此外,必须保证原有排列中的至少一名舞者移动到了原有排列中另一名舞者的位置,或者留在了原位。请你告诉 Vadim,他至少还需要邀请多少名舞者。
输入格式
每个测试包含若干组数据。第一行包含一个整数 $t$($1 \le t \le 10^5$)——测试用例的数量。接下来的若干行描述每组测试数据。
每组测试数据的第一行包含两个整数 $n$ 和 $m$,分别表示表格的行数和列数($1 \le n, m \le 10^6, 1 \le n \cdot m \le 10^6$)。
接下来的 $n$ 行,每行长度为 $m$,描述舞者的动作——第 $i$ 行第 $j$ 列的舞者表演动作 $f_{ij}$,其中 $f_{ij}$ 是一个小写英文字母。
保证所有测试用例中 $n \cdot m$ 的总和不超过 $10^6$。
输出格式
对于每组测试数据,输出 Vadim 至少需要邀请的舞者数量。
说明/提示
在第一个样例中,你可以邀请 $4$ 名舞者,将她们安排如下:
$$
\text{h e y }\textbf{e h}\\
\text{h e y }\textbf{e h}\\
$$
在第二个样例中,你可以邀请 $16$ 名舞者,将她们安排如下:
$$
\textbf{j k}\text{ a b c}\\
\textbf{k j}\text{ d e f}\\
\textbf{i h}\text{ g h i}\\
\textbf{f e d j k}\\
\textbf{c b a k j}\\
$$
在第三个样例中,你可以邀请 $2$ 名舞者,将她们安排如下:
$$
\textbf{e t}\\
\text{a f}\\
\text{f a}\\
\text{t e}\\
$$
这里,加粗的部分表示新邀请的舞者。