Дерево или нет

ID задачи: 01_01_tree_or_not, лимит времени: 2000 мс, лимит памяти: 16 МБ

Дан неориентированный граф из $n$ вершин и $m$ рёбер.
В первой строке входных данных заданы два целых числа $n$ и $m$.
В следующих $m$ строках заданы рёбра графа: по два целых числа $u$ и $v$.

Выведите `YES`, если граф является деревом, иначе выведите `NO`.

Первые 3 теста

# Описание Вход Выход
1 Пример: обычное дерево
5 4
1 2
1 3
3 4
3 5
YES
2 Пример: простой цикл
4 4
1 2
2 3
3 4
4 1
NO
3 Пример: несвязный граф
5 2
1 2
4 5
NO

Запуск решения