JOI 国には N 個の都市があり,1 から N までの番号がついている.これらの都市は N−1 本の道路で結ばれている.i 番目 (1leqqileqqN−1) の道路は都市 Ai と都市 Bi を結んでおり,双方向に通行可能である.どの都市からどの都市へも何本かの道路を通行することで移動できる.
JOI 国にはいくつかの特産品が存在する.特産品には,種類を表す 1 以上 M 以下の番号が付けられている (JOI 国で生産されている特産品に対応していない番号があるかもしれない).各都市は 1 つの特産品を生産しており,都市 j (1leqqjleqqN) では特産品 Cj を生産している.複数の都市が同じ種類の特産品を生産することがあるかもしれない.
2 つの都市の間の距離は,その間を移動するために通る道路の本数の最小値である.都市 x (1leqqxleqqN) から見て都市 y (1leqqyleqqN,yneqx) が珍しい都市であるとは,すべての都市 z (1leqqzleqqN,zneqx,zneqy) について,都市 x, y 間の距離と都市 x, z 間の距離が異なることを意味する.
JOI 国の大臣である K 理事長は,すべての j (1leqqjleqqN) について,都市 j から見て珍しい都市で生産されている特産品が何種類あるかを知りたい.
JOI 国の道路の情報と,各都市で生産されている特産品の番号が与えられたとき,各都市ごとに,その都市から見て珍しい都市で生産されている特産品が何種類あるかを求めるプログラムを作成せよ.
入力
入力は以下の形式で標準入力から与えられる.
N M
A1 B1
vdots
AN−1 BN−1
C1 cdots CN
出力
標準出力に N 行で出力せよ.j 行目 (1leqqjleqqN) には,都市 j から見て珍しい都市で生産されている特産品が何種類あるかを出力せよ.
制約
- 2leqqNleqq200,000.
- 1leqqMleqqN.
- 1leqqAileqqN (1leqqileqqN−1),1leqqBileqqN (1leqqileqqN−1).
- Ai,Bi(1leqqileqqN−1).
- どの都市からどの都市へも何本かの道路を通行することで移動できる.
- 1leqqCjleqqM (1leqqjleqqN).
小課題
- (4 点) Nleqq2,000.
- (32 点) M=1.
- (32 点) M=N,Cj=j (1leqqjleqqN).
- (32 点) 追加の制約はない.
入力例 1
出力例 1
都市 1 から見て珍しい都市は都市 2,3 であり,そこで生産される特産品は特産品 2,1 なので,答えは 2種類である.
都市 2 から見て珍しい都市は存在しないので,答えは 0 種類である.
都市 3 から見て珍しい都市は都市 1 であり,そこで生産される特産品は特産品 1 なので,答えは 1 種類である.
都市 4 から見て珍しい都市は都市 1,3 であり,どちらの都市においても生産される特産品は特産品 1 なので,答えは 1 種類である.
都市 5 から見て珍しい都市は都市 1,3 であり,どちらの都市においても生産される特産品は特産品 1 なので,答えは 1 種類である.
番号 3 の特産品は存在しないことに注意せよ.
入力例 2
出力例 2
この入力例は小課題 2 の制約を満たす.
入力例 3
出力例 3
この入力例は小課題 3 の制約を満たす.
入力例 4
出力例 4