EduBrick

E. Номер компоненты

3000 мс · 256 МБ · всё или ничего

Неориентированный граф задан списком рёбер. Для каждой вершины выведите номер её компоненты связности.

Компоненты нумеруются с единицы в том порядке, в котором их находит обход, если перебирать стартовые вершины от 1 к nn. То есть компонента вершины 1 всегда первая.

Формат ввода

Первая строка содержит числа nn (1≤n≤1051 \le n \le 10^5) и mm (0≤m≤2⋅1050 \le m \le 2 \cdot 10^5).

Далее идут mm строк с рёбрами.

Формат вывода

В первой строке — количество компонент.

Во второй — nn чисел: номер компоненты каждой вершины.

Примеры

ввод
5 3
1 2
2 3
4 5
вывод
2
1 1 1 2 2
ввод
4 2
2 3
1 4
вывод
2
1 2 2 1
Войдите, чтобы отправлять решения.