Фарбування дерева
Вам дано дерево (неорієнтований зв'язний ациклічний граф), що складається з вершин. Ви граєте в гру на цьому дереві.
Спочатку всі вершини білі. На першому ході гри ви обираєте одну вершину і фарбуєте її в чорний колір. Потім на кожному наступному ході ви обираєте білу вершину, яка є суміжною (з'єднаною ребром) з будь-якою чорною вершиною, і фарбуєте її в чорний колір.
Кожного разу, коли ви обираєте вершину (включаючи перший хід), ви отримуєте кількість очок, що дорівнює розміру компоненти зв'язності, яка складається тільки з білих вершин і містить обрану вершину. Гра завершується, коли всі вершини пофарбовані в чорний колір.
Розглянемо наступний приклад:
Вершини і вже пофарбовані в чорний колір. Якщо ви оберете вершину , то отримаєте очки за компоненту зв'язності, що складається з вершин і . Якщо оберете вершину , то отримаєте очки за компоненту зв'язності, що складається з вершин і .
Ваше завдання — максимізувати кількість очок, які ви отримаєте.
Вхідні дані
Перший рядок містить одне ціле число — кількість вершин у дереві.
Кожен з наступних рядків описує ребро дерева. Ребро описується двома цілими числами і , які є номерами вершин, що воно з'єднує.
Гарантується, що задані ребра утворюють дерево.
Вихідні дані
Виведіть одне ціле число — максимальну кількість очок, яку ви отримаєте, якщо будете грати оптимально.