In a certain flooded village, a secret superhuman humanitarian camp is being opened as we speak. The village consists of $N$ houses marked with integers from $1$ to $N$. The houses are connected to each other with $N-1$ roads so that there is a unique way between each two houses. For each road, we know the time it takes for a truck to pass it. The camp should be put up in some house’s garden, but the camp manager still hasn’t decided which house it is going to be.
Mirko has been appointed as the driver. His job is to drive around teams of volunteers in his super truck from the camp to the house where that certain team is going to work. His truck is super because all teams at once can drive in it! In total, there are $K$ teams and all the teams are going to a different house.
All $K$ teams board into Mirko’s truck initially, and then he drives them to houses in the sequence he determined for himself. After he drives around all teams, Mirko stays and helps the last team (he doesn’t go back to camp).
In order for the camp manager to determine where to put up the camp, he wants to know, for each house, the minimal time it takes for Mirko to drive around all teams if that house is the headquarters. Write a program that will determine the numbers Mirko’s boss wants to see!
The first line of input contains the integers $N$ ($1 \leq N \leq 500\, 000$), and $K$ ($1 \leq K \leq N$).
Each of the following $N-1$ lines contains integers $A_ i$, $B_ i$, $C_ i$ ($1 \leq A_ i, B_ i \leq N$, $1 \leq C_ i \leq 1\, 000\, 000$), where $C_ i$ is the time it takes to pass a two-way road between houses $A_ i$ and $B_ i$.
Each of the following $K$ lines contains and integer that marks the house where the $i$-th team is going, respectively.
Output $N$ lines. The $i$-th line of output must contain the minimal times it takes Mirko to drive around all the teams if the camp headquarters is located in the $i$-th house.
|Sample Input 1||Sample Output 1|
5 2 2 5 1 2 4 1 1 2 2 1 3 2 4 5
5 3 7 2 2
|Sample Input 2||Sample Output 2|
7 2 1 2 4 1 3 1 2 5 1 2 4 2 4 7 3 4 6 2 3 7
11 15 10 13 16 15 10