#abc222f. [abc222_f]Expensive Expense

[abc222_f]Expensive Expense

问题陈述

AtCoder 王国由 NN 个城镇和 N1N-1 条道路组成。
这些城镇标记为 Town 11,Town 22dots\\dots,Town NN。同样,这些道路标记为 Road 11,Road 22dots\\dots,Road N1N-1。道路 ii 双向连接 Towns AiA_iBiB_i,通过它需要支付通行费用 CiC_i。对于每一对不同的城镇 (i,j)(i, j),可以通过道路从 Town AiA_i 前往 Town BjB_j

给定一个序列 D=(D1,D2,dots,DN)D = (D_1, D_2, \\dots, D_N),其中 DiD_i 是在 Town ii 游览的费用。我们定义从 Town ii 到 Town jj 的旅行费用 Ei,jE_{i,j} 为从 Town ii 到 Town jj 的通行费用总和,再加上 DjD_j

  • 更正式地说,Ei,jE_{i,j} 被定义为 Dj+displaystylesuml=0k1clD_j + \\displaystyle\\sum_{l=0}^{k-1} c_l,其中 iijj 之间的最短路径为 i=p0,p1,dots,pk1,pk=ji = p_0, p_1, \\dots, p_{k-1}, p_k = j,连接 Towns plp_{l}pl+1p_{l+1} 的道路通行费用为 clc_l

对于每个 ii,找到从 Town ii 到其他城镇的最大旅行费用。

  • 更正式地说,对于每个 ii,找到 max1leqjleqN,jneqiEi,j\\max_{1 \\leq j \\leq N, j \\neq i} E_{i,j}

约束条件

  • 2leqNleq2times1052 \\leq N \\leq 2 \\times 10^5
  • 1leqAileqN1 \\leq A_i \\leq N (1leqileqN1)(1 \\leq i \\leq N-1)
  • 1leqBileqN1 \\leq B_i \\leq N (1leqileqN1)(1 \\leq i \\leq N-1)
  • 1leqCileq1091 \\leq C_i \\leq 10^9 (1leqileqN1)(1 \\leq i \\leq N-1)
  • 1leqDileq1091 \\leq D_i \\leq 10^9 (1leqileqN)(1 \\leq i \\leq N)
  • 对于一对整数 (i,j)(i,j),满足 1leqiltjleqN1 \\leq i \\lt j \\leq N,可以通过一些道路从 Town ii 前往 Town jj
  • 输入中的所有值都是整数。

输入

输入以以下格式从标准输入给出:

NN A1A_1 B1B_1 C1C_1 A2A_2 B2B_2 C2C_2 vdots\\vdots AN1A_{N-1} BN1B_{N-1} CN1C_{N-1} D1D_1 D2D_2 dots\\dots DND_N

输出

输出 NN 行。第 ii 行应包含 $\\displaystyle \\max_{1 \\leq j \\leq N, j \\neq i} E_{i,j}$。


示例输入 1

3
1 2 2
2 3 3
1 2 3

示例输出 1

8
6
6

每对城镇 (i,j)(i,j)Ei,jE_{i,j} 值如下。

  • E1,2=2+2=4E_{1,2} = 2 + 2 = 4
  • E1,3=5+3=8E_{1,3} = 5 + 3 = 8
  • E2,1=2+1=3E_{2,1} = 2 + 1 = 3
  • E2,3=3+3=6E_{2,3} = 3 + 3 = 6
  • E3,1=5+1=6E_{3,1} = 5 + 1 = 6
  • E3,2=3+2=5E_{3,2} = 3 + 2 = 5

示例输入 2

6
1 2 3
1 3 1
1 4 4
1 5 1
1 6 5
9 2 6 5 3 100

示例输出 2

105
108
106
109
106
14

示例输入 3

6
1 2 1000000000
2 3 1000000000
3 4 1000000000
4 5 1000000000
5 6 1000000000
1 2 3 4 5 6

示例输出 3

5000000006
4000000006
3000000006
3000000001
4000000001
5000000001