Loading [MathJax]/jax/output/HTML-CSS/fonts/TeX/fontdata.js
E. Симметричная решётка
ограничение по времени на тест
2 секунды
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Вам дана квадратная матрица из n строк и n столбцов. В каждой ячейке содержится одно число: 0 или 1.

За одну операцию вы можете выбрать любую ячейку матрицы и инвертировать её значение (01 или 10).

Найдите за какое минимальное число операций можно получить квадрат который не меняется при поворотах на 0, 90, 180 и 270.

На картинке ниже показан пример всех поворотов одной матрицы.

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

Первая строка содержит одно целое число t (1t100) — количество наборов входных данных. Далее следует описание наборов.

Первая строка каждого набора входных данных содержит число n (1n100) — размер матрицы.

Следующие n строк каждого набора входных данных содержат строку длины n, состоящую из значений ai,j (0ai,j1) — числа, записанные в каждой ячейке.

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

Для каждого набора входных данных выведите одно число — минимальное количество операций необходимое чтобы получить квадратную матрицу, которая не меняется при поворотах на 0, 90, 180 и 270.

Пример
Входные данные
5
3
010
110
010
1
0
5
11100
11011
01011
10011
11000
5
01000
10101
01010
00010
01001
5
11001
00000
11111
10110
01111
Выходные данные
1
0
9
7
6
Примечание

В первом наборе входных данных, мы можем применить одну операцию чтобы сделать матрицу симметричной 010111010. Теперь, любой поворот не меняет данную матрицу.

Во втором наборе входных данных, нет необходимости применять ни одной операции, любые допустимые повороты и так не меняют её.