Живопис
Є стіна, що складається з nxn плиток. Колись ці плитки були пофарбовані в k різних кольорів. Тепер фарба зношується, і стіну потрібно перефарбувати. Цього разу всі плитки стіни повинні бути пофарбовані лише в один з k кольорів. За один хід ми можемо пофарбувати один горизонтальний або один вертикальний рядок плиток. Також ми можемо пофарбувати рядок у заданий колір лише якщо принаймні дві плитки в цьому рядку (горизонтальному або вертикальному) вже є в цьому кольорі (або старою, або новою фарбою). Потрібно визначити мінімальну кількість ходів, необхідних для фарбування всіх плиток.
Вхідні дані
Перша строка вхідних даних містить кількість тестових випадків. Перша строка кожного тестового випадку містить два цілі числа: n (1 < n ≤ 500) – кількість плиток в одному рядку і k (1 ≤ k < n) – кількість доступних різних кольорів. У кожній з наступних n строк є n натуральних чисел, що дають номери кольорів, в які відповідна плитка була пофарбована раніше. Кольори мають номери від 1 до k.
Вихідні дані
Перша строка виходу для кожного тестового випадку повинна містити число q – мінімальну кількість ходів, необхідних для фарбування всіх плиток. У другій строкі перелічте номери всіх кольорів, в які можна пофарбувати стіну згідно з даними правилами з тією ж кількістю ходів. Номери повинні бути перелічені у зростаючому порядку. Якщо неможливо пофарбувати всі плитки, дотримуючись правил, зазначених у завданні, то виведіть лише число 0.