Розфарбування дерева#11002

Розфарбування дерева

1 секунда
128 мегабайтів
Легка

Вам задано дерево (неорієнтований зв'язний ациклічний граф), що складається з вершин. Ви граєте у гру на цьому дереві.

Спочатку всі вершини пофарбовані у білий колір. На першому ході Ви обираєте одну вершину і перефарбовуєте її у чорний колір. Далі на кожному ході Ви обираєте білу вершину, суміжну (тобто з'єднану ребром) хоча б з однією чорною вершиною, і перефарбовуєте її у чорний колір.

Кожного разу, коли Ви обираєте вершину (включаючи перший хід), Ви отримуєте кількість очок, що дорівнює розміру компоненти зв'язності, яка складається тільки з білих вершин і містить обрану вершину. Гра закінчується, коли всі вершини стануть чорними.

Розглянемо наступний приклад:

Вершини і вже пофарбовані у чорний колір. Якщо обрати вершину , то Ви отримаєте очки за компоненту зв'язності, що складається з вершин і . Якщо обрати вершину , то Ви отримаєте очки за компоненту зв'язності, що складається з вершин і .

Ваше завдання — максимізувати загальну кількість очок, яку Ви зможете набрати.

Вхідні дані

Перший рядок містить одне ціле число n~(2 \le n \le 2 \cdot 10^5) — кількість вершин у дереві.

Кожен з наступних n - 1 рядків описує одне ребро дерева. Ребро задається двома цілими числами u_i і v_i~(1 \le u_i, v_i \le n,\ u_i \ne v_i) — номерами вершин, які воно з'єднує.

Гарантується, що задані ребра утворюють дерево.

Вихідні дані

Виведіть одне ціле число — максимальну кількість очок, яку Ви отримаєте при оптимальній грі.

Приклади

Приклад 1

Loading
Loading

Приклад 2

Loading
Loading