Ейлер\^{}2
Обмеження: 2 сек., 256 МіБ
Задано зв’язний неорієнтований граф. У графі можливі мультиребра та петлі.
Потрібно знайти такий цикл, який проходить двічі по кожному ребру (один раз в одну сторону й один раз в іншу). Якщо таких циклів багато — вивести лексикографічно найменший.
Цикл \(a\) вважається лексикографічно меншим за цикл \(b\), якщо існує таке \(k\), що перші \(k\) вершин циклів збігаються, а \((k+1)\)-а вершина циклу \(a\) має індекс менший, ніж \((k+1)\)-а вершина циклу \(b\).
Вхідні дані
У першому рядку задано 2 цілих числа \(n\) і \(m\) — кількість вершин і ребер у графі відповідно.
В наступних \(m\) рядках містяться описи ребер — по два числа в рядку — індекси вершин, які з’єднує ребро.
Вершини мають індекси від 1 до \(n\).
Вихідні дані
В одному рядку виведіть послідовно вершини шуканого циклу. Якщо
такого циклу не існує, виведіть -1.
Обмеження
\(1 \le n, m \le 10^{5}\).
Приклади
| Вхідні дані (stdin) | Вихідні дані (stdout) |
|---|---|
| 2 2 1 2 1 1 | 1 1 1 2 1 |
Надіслати розв'язок
| Element Type | Створено | Хто | Задача | Компілятор | Результат | Час (сек.) | Пам'ять (МіБ) | № | Дії |
|---|
| Element Type | Створено | Хто | Задача | Компілятор | Результат | Час (сек.) | Пам'ять (МіБ) | № | Дії |
|---|