트리에서 왼발과 오른발을 번갈아 디디며 지나간 정점을 다시 밟지 않는 경로 중 왼발로 끝나는 경로의 수를 각 시작 정점마다 세고, 그 최댓값을 구한다.
어려움8트리DFS동적 계획법조합론아직 제출이 없습니다시간 제한1초메모리 제한512 MB영우가 운동장에 커다란 트리를 그려 놓고 공부하고 있었다. 트리는 사이클이 없는 연결 그래프다. 지나가던 영선이는 트리의 정점 개수가 자기 발 사이즈와 정확히 같다는 것을 알아챘고, 그 모습을 본 영우가 영선이에게 게임을 제안했다.
규칙은 이렇다. 영선이는 정점 하나를 골라 왼 발을 디딘 채로 시작한다. 그다음부터는 간선을 따라 이웃한 정점으로 옮겨 가면서 왼 발과 오른 발을 번갈아 디딘다. 한 번 밟은 정점은 발자국 때문에 운동장에서 지워지므로 다시 밟지 못한다. 옮겨 갈 정점이 하나도 남지 않으면 게임이 끝나고, 그때 정점을 디디고 있는 발이 왼 발이면 영선이가, 오른 발이면 영우가 이긴다. 정점이 하나뿐이면 시작하자마자 게임이 끝나며, 왼 발을 디딘 상태이므로 영선이가 이긴다.
운동장이 너무 커서 영선이는 트리 모양을 전혀 모르는 채로 시작할 정점을 찍어야 한다. 불리하다고 생각한 영선이가 게임을 마다하자, 영우는 어떤 정점 x에서 시작하면 영선이가 이기는 경우의 수가 얼마인지 알려 주며 어그로를 끌기로 했다. 밟는 정점의 순서가 다르면 서로 다른 경우로 센다. 영우는 가능한 한 큰 값을 말하고 싶다. 트리를 전부 알고 있는 여러분이 그 값을 구하자. 시작 정점을 모든 정점에 대해 바꿔 봤을 때, 영선이가 이기는 경우의 수의 최댓값을 구하면 된다.

운동장에 위 그림과 같은 트리가 그려져 있다고 하자. 1번 정점에서 왼 발로 시작하면 영선이가 이기는 경우의 수는 2다. (1왼 -> 2오 -> 4왼), (1왼 -> 2오 -> 5왼) 두 가지다. 2번 정점에서 왼 발로 시작하면 경우의 수는 1이다. (2왼 -> 1오 -> 3왼) 하나뿐이다.
첫 줄에 정점의 개수 N이 주어진다. (1≤N≤1,000,000)
다음 N−1개의 줄에는 정수 a와 b가 주어진다. (1≤a,b≤N) 정점 a와 정점 b가 간선으로 연결되어 있다는 뜻이다. 주어지는 그래프는 항상 트리다.
영선이가 이기는 경우의 수가 가장 큰 시작 정점에서의 경우의 수를 한 줄에 출력한다.