EduBrick

L. Проверка одностороннего движения

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

Дорожники уже сделали все дороги односторонними. Проверьте, можно ли по-прежнему доехать из любого города в любой другой.

Это ровно вопрос «граф сильно связен?», то есть «компонента сильной связности ровно одна?». Годится и алгоритм Косарайю, и способ проще: запустить обход из вершины 1 по рёбрам и обход из вершины 1 по развёрнутым рёбрам. Граф сильно связен тогда и только тогда, когда оба обхода посетили все вершины.

Обратите внимание, что задача обратна классной задаче K: там ориентацию строили, здесь — проверяют чужую.

Формат ввода

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

Далее идут mm строк с односторонними дорогами. Возможны кратные дороги; петель нет.

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

Одно слово: YES или NO.

Примеры

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