Покраска
Существует стена, состоящая из n×n плиток. Давным-давно эти плитки булы покрашены в k разных цветов. Теперь краска износилась и стену необходимо перекрасить. В этот раз все плитки стены должны быть выкрашены только в один из k цветов. За один ход мы можем покрасить один горизонтальный или вертикальный ряд плиток. Также мы можем покрасить строку в указанный цвет, только если по меньшей мере две плитки в этой строке (горизонтальной или вертикальной) уже этого цвета (или старой или новой краски). Вам необходимо выяснить, какое наименьшее количество ходов необхимо, чтобы покрасить все плитки.
Входные данные
Первая строка входного файла содержит количество тестов. Первая строка каждого теста содержит два целых числа: n (1 < n < 500) - количество плиток в одном ряду и k (1 ≤ k < n) - количество разных цветов. В каждой из последующих n строк содержится по n целых чисел, задающих номера цветов, в которые покрашены соответствующиеі плитки. Цвета имеют номера от 1 до k.
Выходные данные
Первая строка вывода для каждого теста должна содержать число q - минимальное количество ходов, необходимых для покраски всех плиток. Во второй строке перечислите все цвета, в которые можна покрасить стену используя минимальное количество ходов. Номера должны быть перечислены в порядке возрастания. Если стену невозможно покрасить по правилам, указанным в условии, виведите только одно число - 0.