Statement
루트가 없는 정점이 개인 트리가 주어진다. 정점 의 가중치는 이다.
당신은 다음 연산을 원하는 만큼 수행할 수 있다.
- 현재 트리에 정점이 개 이상 남아 있을 때, 리프 정점 하나를 고르고 해당 정점을 제거한다. 리프 정점은 현재 트리에서 차수가 인 정점이다.
연산을 모두 마친 뒤 남은 정점들의 가중치 합을 최대화하여라.
Input
입력은 다음과 같은 형식으로 주어진다.
여기서 와 는 번째 간선이 잇는 두 정점이다. 이면 간선은 주어지지 않는다.
Output
연산을 모두 마친 뒤 남은 정점들의 가중치 합의 최댓값을 출력한다.
Constraints
- 입력으로 주어지는 간선들은 트리를 이룬다.
- 모든 입력값은 정수이다.
Subtasks
Samples
예제 1
입력
7
-5 4 3 -2 6 -10 5
1 2
1 3
2 4
2 5
3 6
3 7
출력
13
예제 2
입력
4
-8 -2 -5 -3
1 2
2 3
3 4
출력
-2