The city where crazyzhk resides is structured as a tree. On a certain day, the city’s network needs to be
upgraded. To achieve this goal, routers need to be deployed. Each router covers the node it is placed on
and its neighboring nodes. There is a cost ai associated with placing a router at each node. The question
is: How can the routers be deployed at minimum cost to ensure that every node is covered?
输入格式
The input consists of multiple test cases. The first line contains a single integer t(1 ≤ t ≤ 1000) — the
number of test cases. Description of the test cases follows.
The first line of each test case contains a integer n (1 ≤ n ≤ 105) — the number of the vertices in the
given tree.
The second line of each case are n integers ai(1 ≤ ai ≤ 105),denoting the cost of setting up a router at
each node.
Each of the next n − 1 lines contains two integers u and v (1 ≤ u, v ≤ n, u 6= v) meaning that there is an
edge between vertices u and v in the tree.
The data guarantees that the sum of n will not exceed 2 · 105
输出格式
For each test case print a single integer ——the minimum cost to ensure that every node is covered