Little Cyan Fish 手中有一个 $n$ 行 $m$ 列的矩阵 $A$。矩阵中的每个元素可以是青色(Cyan)或白色(White)。我们用字符 C 表示青色,用字符 W 表示白色。为方便起见,Little Cyan Fish 将矩阵中第 $i$ 行第 $j$ 列($1 \le i \le n, 1 \le j \le m$)的元素记为 $A_{i,j}$。
Little Cyan Fish 可以执行任意次数以下操作: 选择一对垂直相邻或水平相邻的单元格 $A_{i,j}$ 和 $A_{k,l}$。即 $|i - k| + |j - l| = 1$。 交换 $A_{i,j}$ 和 $A_{k,l}$。
Little Cyan Fish 想要将矩阵 $A$ 转换为另一个给定的矩阵 $B$。当然,Little Cyan Fish 保证矩阵 $A$ 中青色元素的数量与最终目标矩阵 $B$ 中青色元素的数量相等,因此一定存在满足 Little Cyan Fish 要求的操作方案。
你需要帮助 Little Cyan Fish 计算完成其要求所需的最少操作次数。
输入格式
输入包含多组测试数据。第一行包含一个整数 $T$ ($1 \le T$),表示测试数据的组数。
对于每组测试数据,第一行包含两个整数 $n$ 和 $m$ ($1 \le n \le 10^5, 1 \le m \le 6$),分别表示矩阵的行数和列数。
接下来 $n$ 行,每行包含一个长度为 $m$ 的字符串(仅包含字符 C 或 W),表示矩阵 $A$ 的每一行。
接下来 $n$ 行,每行包含一个长度为 $m$ 的字符串(仅包含字符 C 或 W),表示矩阵 $B$ 的每一行。保证矩阵 $A$ 和矩阵 $B$ 中字符 C 的数量相同(自然地,字符 W 的数量也会相同)。
保证所有测试数据的 $n$ 之和不超过 $10^5$。
输出格式
对于每组测试数据,输出一行一个整数,表示 Little Cyan Fish 将矩阵 $A$ 转换为矩阵 $B$ 所需的最少操作次数。
样例
样例输入 1
2 2 2 CW WC WC CW 5 3 WWC WCW CWC CCC CCC CCC CCC CCC CWW WWW
样例输出 1
2 16