F. Свободное вершинное покрытие
ограничение по времени на тест
5 секунд
ограничение по памяти на тест
512 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Дан простой связный неориентированный граф, состоящий из $$$n$$$ вершин и $$$m$$$ ребер. Вершины пронумерованы от $$$1$$$ до $$$n$$$.

Вершинное покрытие графа — это такой набор вершин, что у каждого ребра есть хотя бы один конец в наборе.

Назовем свободным вершинным покрытием такое вершинное покрытие, что не более одного ребра имеет оба конца в наборе.

Найдите свободное вершинное покрытие графа или сообщите, что его нет. Если существует несколько ответов, то выведите любой из них.

Входные данные

В первой строке записано одно целое число $$$t$$$ ($$$1 \le t \le 10^4$$$) — количество наборов входных данных.

В первой строке каждого набора входных данных записаны два целых числа $$$n$$$ и $$$m$$$ ($$$2 \le n \le 10^6$$$; $$$n - 1 \le m \le \min(10^6, \frac{n \cdot (n - 1)}{2})$$$) — количество вершин и количество ребер графа.

В каждой из следующих $$$m$$$ строк записаны два целых числа $$$v$$$ и $$$u$$$ ($$$1 \le v, u \le n$$$; $$$v \neq u$$$) — описания ребер.

В каждом наборе входных данных граф связный и не содержит кратных ребер. Сумма $$$n$$$ по всем наборам не превосходит $$$10^6$$$. Сумма $$$m$$$ по всем наборам не превосходит $$$10^6$$$.

Выходные данные

На каждый набор входных данных в первой строке выведите YES, если свободное вершинное покрытие существует и NO, если нет. Если оно существует, то во второй строке выведите бинарную строку $$$s$$$ длины $$$n$$$, где $$$s_i = 1$$$ означает, что $$$i$$$-я вершина в вершинном покрытии, а $$$s_i = 0$$$ означает, что $$$i$$$-я вершина не в нем.

Если существует несколько ответов, то выведите любой из них.

Примеры
Входные данные
4
6 5
1 3
2 4
3 4
3 5
4 6
4 6
1 2
2 3
3 4
1 4
1 3
2 4
8 11
1 3
2 4
3 5
4 6
5 7
6 8
1 2
3 4
5 6
7 8
7 2
4 5
1 2
2 3
3 4
1 3
2 4
Выходные данные
YES
001100
NO
YES
01100110
YES
0110
Входные данные
1
10 15
9 4
3 4
6 4
1 2
8 2
8 3
7 2
9 5
7 8
5 10
1 4
2 10
5 3
5 7
2 9
Выходные данные
YES
0101100100
Входные данные
1
10 19
7 9
5 3
3 4
1 6
9 4
1 4
10 5
7 1
9 2
8 3
7 3
10 9
2 10
9 8
3 2
1 5
10 7
9 5
1 2
Выходные данные
YES
1010000011
Примечание

Здесь изображены графы из первого примера. Вершины в свободном вершинном покрытии помечены красным.