#P6400. yww 与连通块计数

yww 与连通块计数

题目描述

蒟蒻 yww 发现了一棵 nn 个点的树。树上的每个点都有一个权值 aia_i。

yww 想选出一个连通块,这个连通块不能是空的。

这个连通块必须满足某种条件。具体来说,连通块内的点必须满足所有点的点权的 gcd⁡=s1\gcd=s_1 且所有点的点权的 lcm⁡=s2\operatorname{lcm}=s_2。

yww 想计算有多少种合法的方案,于是就来向你求助。

由于方案数很多,所以你只需要输出方案数 10000000071000000007 的值。

输入格式

第一行有三个整数:n,s1,s2n,s_1,s_2。

第二行有 nn 个整数:第 ii 个数是 aia_i。

接下来 n−1n-1 行每行有两个整数:x,yx,y,表示第 xx 个点和第 yy 个点之间有一条边。

输出格式

输出一个整数:答案。

对 10000000071000000007 取模。

3 1 2
1 2 2
1 2
1 3

3

总共有 33 种方案:{1,2},{1,3},{1,2,3}\{1,2\},\{1,3\},\{1,2,3\}。

数据范围与提示

子任务 11(55 分):n≤20,s2≤103n\leq 20,s_2\leq {10}^3。

子任务 22(55 分):n≤1000,s2=1n\leq 1000,s_2=1。

子任务 33(1010 分):n≤1000,s2≤103n\leq 1000,s_2\leq {10}^3。

子任务 44(1010 分):n≤1000,s2≤105n\leq 1000,s_2\leq {10}^5。

子任务 55(1010 分):n≤1000,s2≤107n\leq 1000,s_2\leq {10}^7。

子任务 66(2020 分):n≤1000,s2≤1010n\leq 1000,s_2\leq {10}^{10}。

子任务 77(4040 分):n≤1000,s2≤1018n\leq 1000,s_2\leq {10}^{18}。

对于 100%100\% 的数据,$1\leq n\leq 1000,1\leq a_i,s_1,s_2\leq {10}^{18},s1\mid a_i,a_i\mid s_2$,保证 s2s_2 的所有质因子都不大于 5050 且 ∄i>1\nexists i>1 满足 i2∣s2i^2\mid s_2 (就是 s2s_2 没有平方因子的意思)。

题目来源:全是水题的 GDOI 模拟赛 by yww