Вам дана квадратная матрица из n строк и n столбцов. В каждой ячейке содержится одно число: 0 или 1.
За одну операцию вы можете выбрать любую ячейку матрицы и инвертировать её значение (0→1 или 1→0).
Найдите за какое минимальное число операций можно получить квадрат который не меняется при поворотах на 0∘, 90∘, 180∘ и 270∘.
На картинке ниже показан пример всех поворотов одной матрицы.
Первая строка содержит одно целое число t (1≤t≤100) — количество наборов входных данных. Далее следует описание наборов.
Первая строка каждого набора входных данных содержит число n (1≤n≤100) — размер матрицы.
Следующие n строк каждого набора входных данных содержат строку длины n, состоящую из значений ai,j (0≤ai,j≤1) — числа, записанные в каждой ячейке.
Для каждого набора входных данных выведите одно число — минимальное количество операций необходимое чтобы получить квадратную матрицу, которая не меняется при поворотах на 0∘, 90∘, 180∘ и 270∘.
5301011001010511100110110101110011110005010001010101010000100100151100100000111111011001111
1 0 9 7 6
В первом наборе входных данных, мы можем применить одну операцию чтобы сделать матрицу симметричной 010111010. Теперь, любой поворот не меняет данную матрицу.
Во втором наборе входных данных, нет необходимости применять ни одной операции, любые допустимые повороты и так не меняют её.