Как гласят старые малоярославские легенды, где-то далеко-далеко, где сборная России когда-то готовилась к международной олимпиаде, в одной из общеобразовательных школ живёт Граф. Ориентированность Графа, как следует из легенд, меняется от дня ко дню вместе с количеством вершин и ребер, что позволяет Графине и её отражению не скучать и играть во множество игр на Графе.
Вот уже многие дни Граф обрёл постоянную ориентированность; однако в последнее время Граф часто стал бывать раздражительным и колючим, и для Графини настали нелёгкие дни. Чтобы хоть как-то облегчить себе жизнь, Графиня решила написать программу, которая по текущему состоянию, то есть набору вершин и рёбер, сообщит Графине, является ли граф колючим. По опыту прошлых дней, Графиня заключила, что Граф является колючим, если и только если через любое его ребро проходит не более чем один простой цикл.
Напомним, что последовательность ребер (u1, u2), (u2, u3), ..., (uk - 1, uk), (uk, u1) является простым циклом, если вершины u1, u2, ..., uk попарно различны. Простой цикл проходит через ребро e, если ребро e содержится в последовательности ребер цикла.
Петлёй в графе называется ребро (u, v), т.ч. u = v.
Рёбра (u1, v1) и (u2, v2) называются кратными, если u1 = u2 и v1 = v2.
Помогите Графине понять, является ли её Граф, являющийся *ориентированным* графом без петель и кратных ребер, колючим или нет.
В первой строке записаны целые неотрицательные числа n и m (1 ≤ n ≤ 500 000, 0 ≤ m ≤ 106 - количество вершин и рёбер графа-Графа.
Далее в следующих m строках записано по паре целых чисел u, v, 1 ≤ u, v ≤ n, u ≠ v.
Гарантируется, что в Графе не существует петель и кратных ребер.
Выведите слово "_YES_", если Граф является колючим, и "_NO_" иначе.
## Входные Данные
В первой строке записаны целые неотрицательные числа n и m (1 ≤ n ≤ 500 000, 0 ≤ m ≤ 106 - количество вершин и рёбер графа-Графа.Далее в следующих m строках записано по паре целых чисел u, v, 1 ≤ u, v ≤ n, u ≠ v.Гарантируется, что в Графе не существует петель и кратных ребер.
## Выходные Данные
Выведите слово "_YES_", если Граф является колючим, и "_NO_" иначе.
## Примеры
Входные данные3 31 22 33 1Выходные данныеYESВходные данные3 41 22 33 11 3Выходные данныеNO
[samples]
**Definitions**
Let $ G = (V, E) $ be a directed graph with $ |V| = n $, $ |E| = m $, containing no self-loops or multiple edges.
**Constraints**
1. $ 1 \leq n \leq 500{,}000 $
2. $ 0 \leq m \leq 10^6 $
3. All edges $ (u, v) \in E $ satisfy $ u \neq v $, and no two edges are identical.
**Objective**
Determine whether $ G $ is *spiky*:
For every edge $ e \in E $, there is **at most one** simple directed cycle in $ G $ that contains $ e $.
Output "YES" if $ G $ is spiky; "NO" otherwise.