#P51830. 「LOJ」 yww 与连通块计数

「LOJ」 yww 与连通块计数

题目描述

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

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

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

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

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

输入格式

第一行有三个整数: n,s1,s2n,s1,s2

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

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

输出格式

输出一个整数:答案。

10000000071000000007 取模。

样例

样例一

input

3 1 2
1 2 2
1 2
1 3

output

3

explanation

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

数据范围与提示

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

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

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

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

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

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

子任务 774040 分):n1000,s21018n\leq 1000,s2\leq {10}^{18}

对于 100%100\% 的数据,1n1000,1ai,s1,s21018,s1ai,ais21\leq n\leq 1000,1\leq a_i,s1,s2\leq {10}^{18},s1∣a_i,a_i∣s2,保证 s2s2 的所有质因子都不大于 5050i>1\nexists i>1 满足 i2s2i^2\mid s2 (就是 s2s2 没有平方因子的意思)。

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