农场由 N 个点和 N-1 条双向路径组成。通过 N-1 条路径使得所有点连通。 点 i 有 C(i) 头奶牛,奶牛有时会穿过 K 条路径移动到不同的点。 农夫想要在每个点 i 种植足够的草来喂养最大数量的奶牛 M(i)。 也就是说,对于每个点 i ,农夫需要考虑最多可能会有多少头奶牛到达该点 i 。 请求出每个 M(i)。
输入格式
第 1 行:两个整数, N 和 K,1 <= N <= 100,000,1 <= K <= 20。 第 2 行 - 第 N 行:两个整数 u 和 v ,表示点 u 和点 v 之间存在路径,1 <= u, v <= N。 第 N + 1 行 - 第 2N 行:第 N + i 行输入 1 个整数表示 C(i),0 <= C(i) <= 1000。