#P12411. 抱月

抱月

题目描述

P(u,v)P(u,v) 表示树上从节点 uu 到节点 vv 依次经过的点组成的序列,包括 uuvv

depudep_u 表示在以 11 为树根时,节点 uu 的深度(根节点深度为 00)。

LCA(u,v)\operatorname{LCA}(u,v) 为树上节点 uuvv 在以 11 为树根时的最近公共祖先。

抱月有一棵树,树根为 11,一共有 nn 个节点。其中第 ii 个节点的颜色是 cic_i。她发现,对于一个节点 xx 和整数 kk,如果将 P(x,1)P(x,1) 中所有满足:depydepx(modk)dep_y\equiv dep_x \pmod{k}yy 都拿出来,这些 yy 是有意义的。

所以,你需要解决这样一个问题。给定 mm 次询问,每次两个整数 x,kx,k,求删掉 P(x,1)P(x,1) 中所有满足 depydepx(modk)dep_y\equiv dep_x \pmod{k}yy 后,满足 depzdepxdep_z \le dep_xzz 中不同 czc_z 的数量。每次询问独立,也就是说这次删的点在下一次询问会恢复。

如果不理解,请看样例解释。

输入格式

第一行两个整数 n,mn,m

第二行 nn 个整数 cic_i

接下来 n1n-1 行,每行两个整数 u vu~v,表示 u vu~v 之间有连边。

接下来 mm 行,每行两个整数 xi kix_i~k_i,表示询问。

输出格式

mm 行,每行一个整数,表示答案。

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

提示

对于所有测试数据,保证 1n,m,ki1051 \le n,m,k_i \le 10^51u,v,xin1 \le u,v,x_i \le n0ci1050 \le c_i \le 10^5

Subtask 限制 分值
00 n,m103n,m \le 10^3 1010
11 cic_i 相同 44
22 ki>maxj=1ndepjk_i > \max\limits_{j=1}^{n} dep_j 1616
33 n,m5×104n,m \le 5\times 10^4 3030
44 4040

样例解释

对于第 11 个询问,满足条件的 yy 为:1,31,3。删掉之后,满足条件的 zz 为:2,42,4。其中 c1=2,c4=8c_1=2,c_4=8,所以答案为 22

对于第 33 个询问,满足条件的 yy 为:1,51,5。删掉之后,满足条件的 zz 为:2,3,4,6,92,3,4,6,9。其中 c2=1,c3=4,c4=8,c6=2,c9=7c_2=1,c_3=4,c_4=8,c_6=2,c_9=7,所以答案为 55