圣诞节的夜晚,哈利得到一棵圣诞树。这棵树由n个节点组成,以1号节点为根。树上的每个节点有一些不同颜色的礼物,于是哈利开始统计树上的礼物。哈利每次统计一个礼物,会记录一个(a, b),a表示这个礼物所在的节点,b表示这个礼物的颜色。统计完之后,哈利想知道,每个节点所包含的子树下,有几种不同颜色的礼物。
多组输入数据 每组数据第一行由n m组成表示树的大小,以及礼物的个数$1 \leq n \leq 50000, 1 \leq m \leq 500000$ 接下来n-1行,每行两个数a b表示节点(a, b)之间有一条边$1 \leq a, b \leq n, a \neq b$ 接下来m行,每行两个数a b表示在a节点上有一个颜色为b的礼物$1 \leq a \leq n, 1 \leq b \leq 100000$
每组数据输出一行n整数,第i个数表示i节点所包含的子树下有几种不同颜色的礼物。
5 3 3 1 4 1 2 3 5 1 1 9 4 6 4 6
2 0 0 1 0 提示: 尽可能的让你的程序跑得快一点