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