#joi2019hoe. [joi2019ho_e]珍しい都市 (Unique Cities)

[joi2019ho_e]珍しい都市 (Unique Cities)

翻译

JOI 国有 NN 个城市,编号从 11NN。这些城市之间由 N1N-1 条道路相连。第 ii 条道路(1iN11 \leqq i \leqq N-1)连接了城市 AiA_i 和城市 BiB_i,可以双向通行。通过几条道路可以从任意一个城市到达另一个城市。

JOI 国拥有一些特产。每个特产都被分配了一个编号,范围从 11MM(可能存在一些编号未对应JOI国生产的特产)。每个城市生产一种特产,城市 jj1jN1 \leqq j \leqq N)生产特产 CjC_j。可能有多个城市生产相同类型的特产。

两个城市之间的距离定义为通过最少的道路数到达目的地。对于城市 xx1xN1 \leqq x \leqq N),如果对于所有城市 zz (1zN,zx,zy1 \leqq z \leqq N, z \neq x, z \neq y),城市 xx 与城市 yy 之间的距离和城市 xx 与城市 zz 之间的距离不同,则称城市 yy 是城市 xx 的稀有城市。

作为JOI国的首席部长,理事长想知道对于所有的 jj1jN1 \leqq j \leqq N),从城市 jj 出发,有多少种稀有城市生产了特产。

给定JOI国的道路信息和每个城市生产的特产编号,编写一个程序,对每个城市计算从该城市出发,有多少种稀有城市生产了特产。


输入

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

NN MM A1A_1 B1B_1 \vdots AN1A_{N-1} BN1B_{N-1} C1C_1 \cdots CNC_N

输出

在标准输出中以 NN 行的形式输出。第 jj 行 (1jN1 \leqq j \leqq N) 输出从城市 jj 出发,有多少种稀有城市生产了特产。


约束条件

  • 2N200,0002 \leqq N \leqq 200,000
  • 1MN1 \leqq M \leqq N
  • 1AiN1 \leqq A_i \leqq N (1iN11 \leqq i \leqq N - 1),1BiN1 \leqq B_i \leqq N (1iN11 \leqq i \leqq N - 1)。
  • Ai,Bi(1iN1A_i , B_i (1 \leqq i \leqq N - 1)。
  • 每个城市都可以通过一些道路到达任意其他城市。
  • 1CjM1 \leqq C_j \leqq M (1jN1 \leqq j \leqq N)。

子任务

  1. (44 分) N2,000N \leqq 2,000
  2. (3232 分) M=1M = 1
  3. (3232 分) M=NM = NCj=jC_j = j (1jN1 \leqq j \leqq N)。
  4. (3232 分) 没有额外约束。

输入样例 1

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

输出样例 1

2
0
1
1
1

对于城市 11 而言,稀有城市是城市 22 和城市 33,它们生产的特产分别是 2211,所以答案是 22 种。

对于城市 22 而言,不存在稀有城市,所以答案是 00 种。

对于城市 33 而言,稀有城市是城市 11,它生产的特产是 11,所以答案是 11 种。

对于城市 44 而言,稀有城市是城市 11 和城市 33,它们都生产特产 11,所以答案是 11 种。

对于城市 55 而言,稀有城市是城市 11 和城市 33,它们都生产特产 11,所以答案是 11 种。

请注意,特产编号为 33 的特产不存在。


输入样例 2

7 1
1 2
2 3
3 4
4 5
5 6
6 7
1 1 1 1 1 1 1

输出样例 2

1
1
1
0
1
1
1

这个输入样例满足子任务 22 的约束。


输入样例 3

10 10
2 6
5 8
10 8
1 4
10 6
4 5
10 7
6 9
3 7
1 2 3 4 5 6 7 8 9 10

输出样例 3

4
3
4
2
0
2
2
0
3
2

这个输入样例满足子任务 33 的约束。


输入样例 4

22 12
9 6
12 13
4 20
21 22
3 19
2 9
6 18
18 11
18 3
16 2
6 4
3 17
16 10
8 16
22 1
16 14
15 8
9 21
2 12
21 5
12 7
1 1 4 8 4 11 7 6 7 11 6 11 10 4 7 5 3 12 9 6 12 2

输出样例 4

2
0
1
1
1
1
1
0
0
1
2
0
1
1
2
0
2
1
2
3
0
0