도로
시간 제한5초메모리 제한512 MB
가중 트리 간선을 입력 순서대로 하나씩 끊고 매번 새로 생긴 두 컴포넌트의 지름을 오름차순으로 출력합니다.
문제
X 나라에는 번부터 번까지 번호가 붙은 도시가 개 있다. 도로망은 양방향 일반 도로 개로 이루어지고, 각 도로는 도시 두 곳을 이으며 길이는 양의 정수다. 도로는 모두 서로 다른 시점에 건설했다. 도로망은 어떤 두 도시 사이에도 일반 도로만 지나는 경로가 존재하도록 설계했다.
자동차 통행량이 계속 늘어나서 정부는 일반 도로를 양방향 고속도로로 교체하려고 한다. 고속도로는 다음 규칙에 따라 건설한다.
- 이미 일반 도로가 직접 놓여 있는 도시 쌍 사이에만 고속도로를 놓는다. 고속도로는 그 일반 도로를 대체한다.
- 한 시점에 공사 중인 고속도로는 하나뿐이다.
- 고속도로는 대응하는 일반 도로를 건설한 순서와 같은 순서로 건설한다.
지역은 처음 도로망의 도시와 일반 도로(고속도로는 제외한다)로 이루어진 극대 집합 중에서, 그 안의 어떤 두 도시 사이에도 일반 도로만 지나는 경로가 있는 것을 말한다. 고속도로를 하나 건설할 때마다 지역 하나가 정확히 두 지역으로 갈라진다. 새로 생긴 지역 한쪽이나 양쪽이 도로 없는 도시 하나로만 이루어질 수도 있다. 단순 경로는 같은 도시를 두 번 이상 지나지 않는 경로다.
고속도로를 하나 건설할 때마다, 새로 생긴 두 지역 각각에서 도시 두 곳을 잇는 가장 긴 단순 경로의 길이를 구하는 프로그램을 작성하라.
입력
첫째 줄에 X 나라의 도시 수 이 주어진다.
다음 개 줄에는 고속도로를 건설하기 전의 도로망이 주어진다. 각 줄에는 양의 정수 세 개가 공백으로 구분되어 주어진다. 앞의 두 수는 일반 도로가 놓인 두 도시의 번호이고, 세 번째 수는 그 도로의 길이다.
일반 도로는 건설한 순서대로 주어진다.
출력
개 줄을 출력한다. 번째 줄에는 번째 고속도로를 건설한 뒤 새로 생긴 두 지역 각각에서 도시 두 곳을 잇는 가장 긴 단순 경로의 길이를 공백으로 구분해 두 개 출력한다. 경로는 일반 도로만 사용한다. 두 수는 감소하지 않는 순서로 쓴다.
제한
- 모든 일반 도로의 길이는 이상 이하다.
힌트
는 도시 와 그 사이의 일반 도로로 이루어진 지역을 뜻한다. 아래 설명은 첫 번째 예제를 따라간 것이다.
-
첫 번째 고속도로를 건설하기 전.

지역은 하나뿐이다.
-
도시 1과 2 사이에 첫 번째 고속도로를 건설한 뒤.

나라가 지역 와 로 갈라진다. 각 지역에서 도시 두 곳을 잇는 가장 긴 단순 경로의 길이는 에서 3(도시 1과 5 사이), 에서 3(도시 3과 4 사이)이다.
-
도시 2와 3 사이에 두 번째 고속도로를 건설한 뒤.

지역 가 과 로 갈라진다. 두 지역의 가장 긴 단순 경로 길이는 각각 0과 2다. 이 두 수는 증가하는 순서로 출력한다.
-
도시 2와 4 사이에 세 번째 고속도로를 건설한 뒤.

지역 가 와 로 갈라진다. 두 지역의 가장 긴 단순 경로 길이는 모두 0이다.
-
도시 1과 5 사이에 네 번째 고속도로를 건설한 뒤.

지역 가 과 로 갈라진다. 가장 긴 단순 경로 길이는 모두 0이다.