정점이 N개인 트리 T가 있다. 정점에는 0번부터 N−1번까지 번호가 붙어 있다.
홍준이는 T에서 간선 하나를 지우고 간선 하나를 새로 잇는다. 새로 잇는 간선의 가중치는 지운 간선의 가중치와 같아야 하고, 간선을 이은 뒤에도 그래프는 트리여야 한다. 지운 간선을 그대로 다시 이어도 된다.
이렇게 만들 수 있는 트리 중에서 지름이 가장 큰 값을 구하는 프로그램을 작성하시오.
첫째 줄에 트리 정점의 개수 N이 주어진다. (2≤N≤2000)
둘째 줄부터 N−1개의 줄에 간선이 한 줄에 하나씩 주어진다. 각 줄은 세 정수 from, to, cost로 이루어지며, from번 정점과 to번 정점을 잇는 간선의 가중치가 cost라는 뜻이다. (0≤from,to≤N−1, from=to, 1≤cost≤109)
주어지는 그래프는 항상 트리다.
첫째 줄에 홍준이가 만들 수 있는 트리의 지름 중 가장 큰 값을 출력한다.
첫 번째 예제의 트리는 정점이 4개, 간선이 3개다. 처음 지름은 2번과 3번을 잇는 경로이고 길이는 8+4=12다. 1번과 0번을 잇는 간선을 지우고 가중치 2짜리 간선으로 3번과 1번을 이으면, 지름은 2번과 1번을 잇는 경로가 되고 길이는 8+4+2=14가 된다.
두 번째 예제에서는 지운 간선을 그대로 다시 잇는 것이 정답이다.