Олимпиадный тренинг

Задача . E. Минимальные метки


Задан ориентированный ацикличный граф из n вершин и m ребер. В нем нет петель и кратных ребер. Граф может быть несвязным.

Необходимо так расставить метки на вершинах, чтобы:

  • Метки образовывали корректную перестановку длины n. Это последовательность целых чисел, такая, что каждое число от 1 до n встречается в ней ровно один раз.
  • Если существует ребро от вершины v к вершине u, то labelv должно быть меньше labelu.
  • Перестановка должна быть лексикографически наименьшей среди всех подходящих.

Найдите последовательность, подходящую под все условия.

Входные данные

В первой строке записаны два целых числа n, m (2 ≤ n ≤ 105, 1 ≤ m ≤ 105).

В следующих m строках записаны по два целых числа v и u (1 ≤ v, u ≤ n, v ≠ u) — ребра в графе. Ребра ориентированы, граф не содержит циклов и кратных ребер.

Выходные данные

Выведите n чисел — лексикографически наименьшую корректную перестановку меток вершин.


Примеры
Входные данныеВыходные данные
1 3 3
1 2
1 3
3 2
1 3 2
2 4 5
3 1
4 1
2 3
3 4
2 4
4 1 2 3
3 5 4
3 1
2 1
2 3
4 5
3 1 2 4 5

time 1000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
С++ Mingw-w645
Комментарий учителя