10881. Геть списування!
Під час контрольної роботи професор Флойд зазначив, що деякі студенти обмінюються записками. Спочатку він хотів поставити їм усім двійки, але того дня професор був добрим, а тому вирішив розділити студентів на дві групи: тих, хто списує і дає списувати, і поставити двійки тільки першим.
У професора записані всі пари студентів, які обмінялися записками. Потрібно визначити, чи зможе розділити студентів на дві групи так, щоб будь-який обмін записками здійснювався від студента однієї групи студенту іншої групи.
Формат вхідних даних
У першому рядку знаходяться два числа \(𝑁\) і \(𝑀\) - кількість студентів та кількість пар студентів, які обмінюються записками (\(1≤𝑁≤100\) , \(0≤𝑀≤𝑁⋅(𝑁−1)/2\) ).
Далі в \(M\) рядках розташовані описи пар студентів: два числа, що відповідають номерам студентів, що обмінюються записками (нумерація студентів йде з 1). Кожна пара студентів перерахована не більше одного разу.
Формат вихідних даних
Потрібно вивести відповідь на завдання професора Флойда. Якщо можна розділити студентів на дві групи - виведіть YES; інакше виведіть NO.
Приклад вхідних даних
3 2
1 2
2 3
Приклад вихідних даних
YES
Приклад вхідних даних
3 3
1 2
2 3
1 3
Приклад вихідних даних
NO
Коментарі