给你一棵由 nn 个节点的树和一个数 xx,其中每个节点都有一个值。有多少条简单路径的值的 lcmlcm 为 xx?
一条简单路径的 lcmlcm 的定义为路径上所有节点的值的 lcmlcm。
第一行输入一个整数 TT (1≤T≤2001≤T≤200),表示测试的总数。
对于每个测试样例, 第一行输入两个数 nn(1≤n≤1051≤n≤105), xx(2≤x≤1072≤x≤107),表示节点的个数和目标值 xx。
接下来 n−1n−1 行,每行两个数 uu 和 vv,表示节点 uu 和 vv 之间存在一条边。
接下来一行 nn 个数 a1,a2,⋯,ana1,a2,⋯,an(1≤ai≤1091≤ai≤109),每个节点的值。
保证样例中 nn 的总和不超过 3×1053×105。
2
3 2
1 2
2 3
2 2 2
6 6
1 2
1 3
2 4
2 5
3 6
6 1 4 2 3 5
6
5
对于第一个样例,任何路径都满足条件。因此答案为 3×2=63×2=6。
对于第二个样例,满足条件的路径为 [1, 1]、[1, 2]、[1, 4]、[1, 5]、[4, 5]。因此答案为 55。