Розклад роботи#4393

Розклад роботи

2 секунди
256 мегабайтів
Дуже легка

Декілька нічних охоронців доступні для захисту місцевого звалища від можливих крадіжок. Цих охоронців потрібно розподілити по парах так, щоб кожна пара працювала разом у різну ніч. Директор звалища доручив вам написати програму, яка, знаючи можливі пари охоронців, визначить максимальну кількість запланованих охоронців (решту буде звільнено). Зауважте, що кожного охоронця можна запланувати лише з одним із його колег, і ніхто не може працювати один.

Вхідні дані

У першому рядку задано одне число N \leq 222 — кількість нічних охоронців. У наступних рядках наведені неупорядковані пари , де кожна така пара означає, що охоронці та можуть працювати разом (для них можливо підібрати відповідну уніформу; на звалищі використовуються різні частини уніформи для різних охоронців — шоломи, штани, куртки. Наприклад, неможливо видати маленький шолом охоронцеві з великою головою або великі черевики охоронцеві з маленькими ногами). Ввід завершується з кінцем файлу.

Вихідні дані

Виведіть один із можливих оптимальних розкладів. У першому рядку виведіть парне число — кількість запланованих охоронців. Далі виведіть рядків, у кожному з яких по цілих числа , що означає: охоронці та працюватимуть разом.

Приклади

Приклад 1

Loading
Loading