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