404051 - 天天爱跑步

给定一棵包含 n 个结点的树,每个结点 j 上有一个观察员,会在第 wj 秒进行观察。 同时有 m 个玩家,第 i 个玩家从起点 si 出发,以每秒移动一条边的速度,沿最短路径跑向终点 ti。所有玩家在第 0 秒同时出发。 一个玩家能被结点 j 的观察员观察到,当且仅当该玩家恰好在第 wj 秒到达结点 j。 请计算每个结点上的观察员分别能观察到多少名玩家。

输入

第一行两个整数 n, m,表示树的结点数和玩家数量。 接下来 n − 1 行,每行两个整数 u, v,表示树上的一条无向边。 接下来一行 n 个整数,第 j 个整数为 wj,表示结点 j 的观察时间。 接下来 m 行,每行两个整数 si, ti,表示一个玩家的起点和终点。

输出

一行 n 个整数,第 j 个整数表示结点 j 的观察员能观察到的人数。

样例

输入

6 3
2 3
1 2 
1 4 
4 5 
4 6 
0 2 5 1 2 3 
1 5 
1 3 
2 6

输出

2 0 0 1 1 1

输入

5 3 
1 2 
2 3 
2 4 
1 5 
0 1 0 3 0 
3 1 
1 4
5 5

输出

1 2 1 0 1

提示

测试点 n= m= 约定 1∼2 991 991 所有人的起点等于自己的终点,即 ∀i, si = ti 3∼4 992 992 所有 wj = 0 5 993 993 无 6∼8 99994 99994 ∀i∈[1, n − 1],i 与 i + 1 有边。即树退化成 1, 2, …, n 按顺序连接的链 9∼12 99995 99995 所有 si = 1 13∼16 99996 99996 所有 ti = 1 17∼19 99997 99997 无 20 299998 299998 无

时间限制 1 秒
内存限制 128 MB
统计
上一题 下一题