EduBrick

A. Порядок выхода

3000 мс · 256 МБ · всё или ничего

Тот же обход, что в классной задаче A, но выводится не сам массив времён, а порядок: перечислите вершины в порядке возрастания времени выхода.

Обход запускается из вершин по возрастанию номера, соседи перебираются по возрастанию.

Отдельного массива времён для этого не нужно: достаточно дописывать вершину в конец списка в тот момент, когда обход из неё выходит. В рекурсивной записи — последняя строка функции, в записи со своим стеком — момент, когда вершина снимается со стека.

Для ориентированного ациклического графа обратный к этому порядок — топологическая сортировка. Это второй способ её получить, и он объясняет, почему занятие называется так, как называется: почти всё сегодняшнее держится на времени выхода.

Формат ввода

Первая строка содержит числа nn (1≤n≤1051 \le n \le 10^5) и mm (0≤m≤2⋅1050 \le m \le 2 \cdot 10^5).

Далее идут mm строк с рёбрами неориентированного графа.

Формат вывода

Одна строка из nn номеров вершин в порядке выхода из них.

Примеры

ввод
4 3
1 2
2 3
1 4
вывод
3 2 4 1
Войдите, чтобы отправлять решения.