Ейлер\^{}2
Limits: 2 sec., 256 MiB
Задано зв’язний неорієнтований граф. У графі можливі мультиребра та петлі.
Потрібно знайти такий цикл, який проходить двічі по кожному ребру (один раз в одну сторону й один раз в іншу). Якщо таких циклів багато — вивести лексикографічно найменший.
Цикл \(a\) вважається лексикографічно меншим за цикл \(b\), якщо існує таке \(k\), що перші \(k\) вершин циклів збігаються, а \((k+1)\)-а вершина циклу \(a\) має індекс менший, ніж \((k+1)\)-а вершина циклу \(b\).
Input
У першому рядку задано 2 цілих числа \(n\) і \(m\) — кількість вершин і ребер у графі відповідно.
В наступних \(m\) рядках містяться описи ребер — по два числа в рядку — індекси вершин, які з’єднує ребро.
Вершини мають індекси від 1 до \(n\).
Output
В одному рядку виведіть послідовно вершини шуканого циклу. Якщо
такого циклу не існує, виведіть -1.
Constraints
\(1 \le n, m \le 10^{5}\).
Samples
| Input (stdin) | Output (stdout) |
|---|---|
| 2 2 1 2 1 1 | 1 1 1 2 1 |
Submit a solution
| Element Type | Created | Who | Problem | Compiler | Result | Time (sec.) | Memory (MiB) | # | Actions |
|---|
| Element Type | Created | Who | Problem | Compiler | Result | Time (sec.) | Memory (MiB) | # | Actions |
|---|