#HK6400. 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

接下来 n1n-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\}

数据范围与提示

子任务 1155 分):n20,s2103n\leq 20,s_2\leq {10}^3

子任务 2255 分):n1000,s2=1n\leq 1000,s_2=1

子任务 331010 分):n1000,s2103n\leq 1000,s_2\leq {10}^3

子任务 441010 分):n1000,s2105n\leq 1000,s_2\leq {10}^5

子任务 551010 分):n1000,s2107n\leq 1000,s_2\leq {10}^7

子任务 662020 分):n1000,s21010n\leq 1000,s_2\leq {10}^{10}

子任务 774040 分):n1000,s21018n\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 的所有质因子都不大于 5050i>1\nexists i>1 满足 i2s2i^2\mid s_2 (就是 s2s_2 没有平方因子的意思)。

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