Порядок сборки механизма
Просмотр в формате PDFВ мастерской нужно собрать механизм из n деталей, пронумерованных от 1 до n.
Между некоторыми деталями заданы зависимости сборки. Зависимость a b означает, что деталь a должна быть установлена раньше, чем деталь b.
Необходимо определить, можно ли собрать все детали в некотором порядке, не нарушая ни одной зависимости.
Иными словами, требуется проверить, существует ли порядок установки всех деталей, согласованный со всеми зависимостями.
Входные данные
В первой строке заданы два целых числа n и m — количество деталей и количество зависимостей.
В следующих m строках заданы зависимости. Каждая строка содержит два целых числа a и b, означающие, что деталь a должна быть установлена раньше детали b.
Выходные данные
Выведите YES, если существует порядок сборки всех деталей, удовлетворяющий всем зависимостям. Иначе выведите NO.
Ограничения
1 <= n <= 1000000 <= m <= 2000001 <= a, b <= n- Петель и кратных зависимостей нет.
Примеры
Пример 1
Входные данные
1 0
Выходные данные
YES
Пример 2
Входные данные
4 3
1 2
2 3
1 4
Выходные данные
YES
Комментарии