C1. Мозговая сеть (лёгкая)
ограничение по времени на тест
2 секунды
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Одним из наиболее известных фактов о зомби является то, что они двигают и думают крайне медленно. Хотя мы всё ещё не знаем, почему они так заторможено передвигаются, вопрос с заторможенным мышлением был недавно решён. Оказывается, причина вовсе не в повреждении их мозга, а как раз наоборот! Независимые исследования подтвердили, что нервная система зомби крайне сложна — она состоит из n мозгов (примерно как несколько желудков у коровы). Они соединены друг с другом с помощью мозговых связей, которые являются венаами, способными передавать мысли между мозгами. Данная мозговая система должна удовлетворять двум важным свойствам:

  1. Должно быть возможным передавать мысли между любыми двумя мозгами (возможно, не напрямую, а через промежуточные мозги).
  2. Не должно быть избыточных соединений, то есть удаление любого соединения сделает свойство 1 неверным.

Если оба свойства выполняются, то мы говорим, что нервная система является правильной. К сожалению, если система не является правильной, то зомби перестаёт думать и становится мёртвым (ещё более мёртвым). Ваша задача состоит в том, чтобы проанализировать нервную систему зомби и определить, является ли она правильной.

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

В первой строке входных данных записаны два целых числа n и m (1 ≤ n, m ≤ 1000), определяющих количество мозгов (пронумерованных от 1 до n) и количество мозговых связей в нервной системе, соответственно. В следующих m строках содержатся описания мозговых связей. Каждая связь задаётся как пара мозгов ab, которую она соединяет (1 ≤ a, b ≤ n, a ≠ b).

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

Выходные данные должны содержать одну строку с yes или no, в зависимости от того, является ли данная во входных данных нервная система правильной.

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