Вам дан специальный связный неориентированный граф, в котором каждая вершина принадлежит максимум к одному простому циклу.
Ваша задача — убрать из этого графа столько рёбер, сколько необходимо, чтобы превратить этот граф в дерево (связный граф без циклов).
Для каждой вершины независимо выведите максимальное расстояние от неё до листа в результирующем дереве, предполагая, что рёбра были убраны так, чтобы минимизировать данное расстояние.
Выходные данные
Выведите \(n\) целых чисел, разделённых пробелами, \(i\)-е из которых обозначает максимальное расстояние между вершиной \(i\) и листом дерева, если убранные рёбра были выбраны таким образом, что это расстояние минимально среди всех возможных вариантов убирания рёбер.
Примечание
В первом примере один из возможных путей минимизации максимального расстояния от вершины \(1\) — убирание отмеченных на следующем изображении рёбер:
Обратите внимание, что для минимизации ответа для разных вершин можно убирать разные ребра.
| № | Входные данные | Выходные данные |
|
1
|
9 10
7 2
9 2
1 6
3 1
4 3
4 7
7 6
9 8
5 8
5 9
|
5 3 5 4 5 4 3 5 4
|
|
2
|
4 4
1 2
2 3
3 4
4 1
|
2 2 2 2
|