Друзі


Submit solution

Points: 100 (partial)
Time limit: 1.0s
Memory limit: 256M

Author:
Problem type

У класі Олексія є \(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

There are no comments at the moment.