Фарбування#2699

Фарбування

1 секунда
64 мегабайти
Середня

Є стіна, що складається з n \times n плиток. Спочатку ці плитки були пофарбовані в різних кольорів. Зараз фарба вицвіла, і стіну потрібно перефарбувати. Цього разу всі плитки мають бути пофарбовані лише одним із кольорів. За один хід ви можете пофарбувати весь горизонтальний або вертикальний ряд плиток. Однак ви можете фарбувати ряд у певний колір лише тоді, коли принаймні дві плитки цього ряду (горизонтального чи вертикального) вже пофарбовані в цей колір (або старою, або новою фарбою).

Ваше завдання — знайти мінімальну кількість ходів, необхідних для того, щоб перефарбувати всі плитки.

Вхідні дані

У першому рядку міститься кількість тестових випадків.

У першому рядку кожного тесту міститься два цілих числа: (1 < n < 500) — кількість плиток у кожному ряду, та (1 \leq k < n) — кількість різних кольорів.

Кожен із наступних рядків містить по цілих чисел, які вказують номери кольорів відповідних плиток. Кольори нумеруються від до .

Вихідні дані

Для кожного тестового випадку виведіть мінімальне число — мінімальну кількість ходів, необхідних для фарбування всіх плиток. У другому рядку виведіть усі кольори, в які можна пофарбувати стіну за мінімальну кількість ходів, у зростаючому порядку. Якщо за правилами пофарбувати стіну неможливо, виведіть лише число .

Приклади

Приклад 1

Loading
Loading