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