10836. Дороги


Відправити розв'язок

Бали: 100
Time limit: 1.0s
Memory limit: 500M

Authors:
Problem type
Allowed languages
C++, Java, Pascal, Python

Мер містечка Веселки вирішив перевірити стан доріг після щойно проведеного капітального ремонту. Для цього він хоче проїхати кожною дорогою в обох напрямках.

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

В містечку Веселки є \(n\) перехресть і \(m\) доріг, кожна з яких з'єднує два різні перехрестя. Між двома перехрестями може бути не більше однієї дороги. Відомо, що дорогами від кожного перехрестя можна доїхати до будь-якого іншого.

Формат вхідних даних

Вхідний потік містить цілі числа \(n\) і \(m\) (\(1 ≤ n ≤ 10^4\), \(1 ≤ m ≤ 10^5\)), і далі \(m\) пар цілих чисел \(a_i\) і \(b_i\) - номери перехресть, які з'єднує \(i\)-я дорога.

Формат вихідних даних

Виведіть число \(s\) — мінімальну довжину шляху і далі \(s+1\) число — номери перехресть у тому порядку, в якому їх потрібно проїжджати.

Приклад вхідних даних

3 3
1 2
2 3
1 3

Приклад вихідних даних

6
1 3 2 1 2 3 1

Коментарі

Ще немає коментарів.