G. Ветры зимы
ограничение по времени на тест
2 секунды
ограничение по памяти на тест
512 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Дано корневое дерево с n вершинами. Король Ночи удаляет ровно одну вершину дерева и все ребра из этой вершины. После этого дерево распадается, и образуется лес деревьев. Вершина, которая удалена, больше не является частью дерева.

Корнем дерева в лесу деревьев является вершина в этом дереве, которая не имеет вершину-родитель. Определим силу леса, как размер самого большого дерева в лесу деревьев.

Джон Сноу хочет минимизировать силу леса дерева. Чтобы сделать это, он может выполнить следующую операцию максимум один раз.

Он удаляет ребро между вершиной и ее родителем и вставляет новое ребро между этой вершиной и любой другой вершиной в лесу, так чтобы количество деревьев в лесу оставалось таким же.

Для каждой вершины v необходимо узнать минимальное значение силы леса, сформированного удалением вершины v.

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

Первая строка входных данных содержит единственное целое число n (1  ≤  n  ≤  105) — количество вершин в дереве. Каждая из следующих n строк содержит два целых числа ui и vi (1  ≤  ui,  vi  ≤  n), где ui родитель вершины vi. Если ui = 0, тогда vi корень дерева.

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

Выведите n строк. i-я строка должна содержать минимальное значение силы леса, сформированного удалением i-й вершины, и применением Джоном Сноу максимум одной операции, описанной выше.

Примеры
Входные данные
10
0 1
1 2
1 3
1 4
2 5
2 6
3 7
4 8
4 9
5 10
Выходные данные
3
4
5
5
5
9
9
9
9
9
Входные данные
2
2 1
0 2
Выходные данные
1
1
Примечание

Дерево в первом тестовом примере изображено ниже. При удалении первой вершины дерево распадается и формирует следующий лес. Сила этого леса равна 4. Джон Сноу может поменять родителя вершины 10 с 5 на 3. Сила леса становится равной 3.