G. Известный балетмейстер
ограничение по времени на тест
3 секунды
ограничение по памяти на тест
512 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Как всем программистам известно, в балете выступают $$$n \times m$$$ балерин, причём их расположение можно представить таблицей из $$$n$$$ строк и $$$m$$$ столбцов. Каждая балерина выполняет одно из $$$26$$$ движений, которое можно описать одной из букв латинского алфавита.

Балетмейстер Вадим хочет развеять этот миф. Для этого он хочет поставить номер, в котором все балерины грациозно перейдут на противоположное от их старта место сцены. Программистам будет проще понять это движение, как поворот таблицы на $$$180^{\circ}$$$. Чтобы не нарушать последовательность визуального повествования балета, балерины делают это моментально, не останавливая выполнение их движения, а финальное расположение не отличается от изначального.

К сожалению, Вадим понимает, что на текущем выступлении при уже запланированной расстановке балерин такой манёвр выполнить не получится. Поэтому он готов пригласить на постановку ещё балерин. Они могут выполнить любое движение и занять любое место, но не вставая между уже участвующими в номере. Самое главное — чтобы по итогу получилась прямоугольная таблица, возможно, больше, чем изначальная. При этом обязательно, чтобы хотя бы одна балерина из изначальной расстановки переходила на место одной из других балерин из изначальной расстановки или остаться на своём месте. Подскажите Вадиму, какое наименьшее количество балерин ему придётся пригласить?

Входные данные

Каждый тест состоит из нескольких наборов входных данных. Первая строка содержит одно целое число $$$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$$$.

Выходные данные

Для каждого набора данных выведите наименьшее количество балерин, которое придётся пригласить Вадиму.

Пример
Входные данные
6
2 3
hey
hey
3 3
abc
def
ghi
3 2
af
fa
te
1 1
x
3 3
uoe
vbe
mbu
2 3
hyh
kop
Выходные данные
4
16
2
0
11
3
Примечание

В первом тесте можно пригласить 4 балерины и расставить их следующим образом:

heyeh
heyeh

Во втором тесте можно пригласить 16 балерин и расставить их так:

jkabc
kjdef
ihghi
fedjk
cbakj

В третьем тесте можно пригласить 2 балерины и расставить их так:

et
af
fa
te

Здесь жирным шрифтом отмечены приглашённые балерины.