크리스마스 트리의 마트료시카
시간 제한3초메모리 제한1024 MB
트리의 각 노드에 대해 그 서브트리에 들어 있는 번호 집합에서 연속한 번호를 최대로 이어 붙일 때 남는 마지막 한 덩어리의 크기를 구한다. 즉 각 서브트리에서 가장 긴 연속 구간의 길이를 출력한다.
문제
크리스마스가 아직 한 달 남았지만 판다 씨는 벌써 크리스마스 준비를 시작했다. 판다 씨는 마트료시카 인형 한 세트로 크리스마스 트리를 장식한다. 번호가 인 마트료시카 인형이 개 있다. 번 인형은 모든 에 대해 번 인형 안에 완벽하게 들어가도록 만들어졌다. 인형은 번호가 이웃할 때만 안정적으로 겹쳐지며, 그렇지 않으면 작은 인형이 큰 인형 밖으로 미끄러져 나온다. 인형은 재귀적으로 겹칠 수 있다. 예를 들어 개의 인형을 가장 작은 것부터 가장 큰 것까지 차곡차곡 겹치면 인형 하나만 남을 때까지 겹칠 수 있다.
크리스마스 트리에는 마침 개의 노드가 있고, 각 노드에 마트료시카 인형이 하나씩 매달려 있다. 번 인형은 트리 루트에 놓인다. 판다 씨는 크리스마스 이브에 친구 양 씨를 초대해 트리에서 인형 몇 개를 선물로 가져가게 한다. 양 씨는 트리 노드 하나를 고르고, 그 노드를 루트로 하는 서브트리에 있는 인형을 전부 모은다.
인형이 많을 수 있으므로 양 씨는 모은 인형을 들고 다니기 쉽게 겹쳐 두려고 한다. 각 트리 노드마다 인형을 최대한 많이 겹쳤을 때 최종적으로 몇 개가 남는지 궁금해한다. 인형은 안정적으로 겹쳐져야 한다.
입력
첫 줄에 테스트 케이스의 수 가 주어진다 (). 이어서 개의 테스트 케이스가 주어진다.
각 테스트 케이스의 첫 줄에는 정수 이 주어진다 (). 은 인형의 수이자 트리 노드의 수이다.
다음 개 줄에는 각각 두 정수 와 가 주어진다 (). 이는 번 인형과 번 인형이 크리스마스 트리에서 이웃한다는 뜻이다.
모든 테스트 케이스에서 의 합은 을 넘지 않는다.
출력
각 테스트 케이스마다 한 줄을 출력한다. 줄은 "Case #x:"로 시작하며, 여기서 x는 테스트 케이스 번호(부터 시작)이다. 이어서 개의 정수를 출력한다. 번째 () 정수는 양 씨가 번 인형이 있는 트리 노드를 골라 서브트리의 인형을 전부 모은 뒤 최대한 많이 안정적으로 겹쳤을 때 남는 인형의 수이다.