EduBrick

O. Диаметр дерева

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

Дано дерево. Найдите его диаметр — наибольшее расстояние между парой вершин.

Перебирать пары нельзя. Работает такой приём: запустить обход из любой вершины и найти самую далёкую, затем запустить обход из неё — самое большое расстояние во втором обходе и есть диаметр.

Два обхода вместо перебора пар — и это единственный способ уложиться при ста тысячах вершин.

Формат ввода

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

Далее идут n−1n - 1 строк с рёбрами дерева.

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

Одно число — диаметр дерева.

Примеры

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