У Монокарпа есть дерево, состоящее из $$$n$$$ вершин, $$$n$$$ — четно. Дерево — это связный граф, не содержащий циклов.
Монокарп решил покрасить ровно половину вершин своего дерева в черный цвет, а другую половину вершин — в белый. При этом он хочет, чтобы после покраски вершин в дереве существовало ровно одно ребро, которое соединяет белую и черную вершины.
Перед вами стоит задача определить существует ли подходящая раскраска, и, если она существует, сообщить о любой подходящей раскраске вершин дерева.
В первой строке следует целое четное число $$$n$$$ ($$$2 \le n \le 200\,000$$$) — количество вершин в дереве.
В каждой из следующих $$$n - 1$$$ строк следуют по два целых числа $$$u$$$ и $$$v$$$ ($$$1 \le u, v \le n$$$) — описание ребер дерева. Гарантируется, что заданные ребра образуют дерево.
Если не существует ни одной подходящей раскраски дерева, выведите «NO» (без кавычек).
В противном случае, в первую строку выведите «YES» (без кавычек). Во вторую строку выведите $$$n$$$ целых чисел $$$0$$$ или $$$1$$$, причем $$$i$$$-е число равно $$$0$$$, если $$$i$$$-ю вершину нужно покрасить в белый цвет, и $$$i$$$-е число равно $$$1$$$, если $$$i$$$-ю вершину нужно покрасить в черный цвет. Если подходящих ответов несколько, выведите любой.
6 1 2 2 3 4 2 4 6 5 4
YES 0 0 0 1 1 1
4 3 1 3 2 3 4
NO
В первом примере можно покрасить вершины $$$1$$$, $$$2$$$ и $$$3$$$ в белый цвет, а вершины $$$4$$$, $$$5$$$ и $$$6$$$. Тогда будет ровно одно ребро, которое соединяет разноцветные вершины, это ребро между вершинами $$$2$$$ и $$$4$$$.
Во втором примере не существует ни одной подходящей раскраски.
| Название |
|---|


