Codeforces Round 884 (Div. 1 + Div. 2)
G
Tree Weights
Codeforces
3000
原题
← F2H →
翻译中…

You are given a tree with $n$ nodes labelled $1,2,\dots,n$. The $i$-th edge connects nodes $u_i$ and $v_i$ and has an unknown positive integer weight $w_i$. To help you figure out these weights, you are also given the distance $d_i$ between the nodes $i$ and $i+1$ for all $1 \le i \le n-1$ (the sum of the weights of the edges on the simple path between the nodes $i$ and $i+1$ in the tree).

翻译中…

Find the weight of each edge. If there are multiple solutions, print any of them. If there are no weights $w_i$ consistent with the information, print a single integer $-1$.

翻译中…

Input

翻译中…

The first line contains a single integer $n$ ($2 \le n \le 10^5$).

翻译中…

The $i$-th of the next $n-1$ lines contains two integers $u_i$ and $v_i$ ($1 \le u_i,v_i \le n$, $u_i \ne v_i$).

翻译中…

The last line contains $n-1$ integers $d_1,\dots,d_{n-1}$ ($1 \le d_i \le 10^{12}$).

翻译中…

It is guaranteed that the given edges form a tree.

翻译中…

Output

翻译中…

If there is no solution, print a single integer $-1$. Otherwise, output $n-1$ lines containing the weights $w_1,\dots,w_{n-1}$.

翻译中…

If there are multiple solutions, print any of them.

翻译中…

Note

翻译中…

In the first sample, the tree is as follows:

翻译中…

image

翻译中…

In the second sample, note that $w_2$ is not allowed to be $0$ because it must be a positive integer, so there is no solution.

翻译中…

In the third sample, the tree is as follows:

翻译中…

image

翻译中…

样例

Input #1
5
1 2
1 3
2 4
2 5
31 41 59 26
Output #1
31
10
18
8
InputCopy OutputCopy
Input #2
3
1 2
1 3
18 18
Output #2
-1
InputCopy OutputCopy
Input #3
9
3 1
4 1
5 9
2 6
5 3
5 8
9 7
9 2
236 205 72 125 178 216 214 117
Output #3
31
41
59
26
53
58
97
93
InputCopy OutputCopy
题目信息
题号
1844G
时间限制
5 s
内存限制
256 MB
标签
位运算
构造
数据结构
DFS 及类似
模拟
数学
矩阵
数论
树

题面与样例版权归 Codeforces 及出题人所有;中文翻译由 AI 生成(CI 管线),如有出入请以原文为准。