Друзі
У класі Олексія є \(n\) учнів і \(m\) дружніх відносин між ними. Ваше завдання - розділити учнів на дві команди так, щоб жодні два учні в одній команді не були друзями. Ви можете вільно вибирати розміри команд.
Input Specification
Перша строка вхідних даних містить два цілі числа \(n\) \((1 \leq n \leq 10^5)\) та \(m\) \((1 \leq m \leq 2 * 10^5)\): кількість учнів і дружніх відносин. Учні пронумеровані від \(1\) до \(n\).
Далі йдуть \(m\) рядків, що описують дружні відносини. Кожен рядок містить два цілі числа \(a\) та \(b\) \((1 \leq a, b \leq n)\): учні \(a\) та \(b\) є друзями.
Кожна дружба існує між двома різними учнями. Можна припустити, що між будь-якими двома учнями може бути максимум одна дружба.
Output Specification
Якщо рішення не існує, то виведіть NO.
Якщо рішення існує, то в першому рядку виведіть YES.
В наступному рядку виведіть приклад, як побудувати команди. Для кожного учня виведіть \(1\) або \(2\) залежно від того, до якої команди він буде віднесений. Ви можете вивести будь-яке валідне рішення.
Sample Input 1
5 3
1 2
1 3
4 5
Sample Output 1
YES
1 2 2 1 2
Comments