#CF2236F1. 萨兰斯克选举(简单版)

萨兰斯克选举(简单版)

题目描述

这是简单版本。唯一区别是 x=1x = 1

在买完他最爱的苏打水“Zola Cero”回家的路上,Egor 看到萨兰斯克正在举行“最佳数字”的选举。

投票站有 nn 人。每个人带来一个数字 aia_i。当第 ii 个人进入投票间时,他们选择一个候选人,该候选人是数字 aia_i 的一个约数。设选出的候选人为 pip_i

所有人投票后,我们得到投票数组 [p1,p2,,pn][p_1, p_2, \ldots, p_n]

Egor 非常喜欢数字 xx,并认为如果 xlcm(p1,p2,,pn)x \cdot {lcm}(p_1, p_2, \ldots, p_n)^{\text{∗}} = p1p2pnp_1 \cdot p_2 \cdot \ldots \cdot p_n,则投票是理想的。请帮助他计算不同的^{\text{†}}理想数组 pp 的数量,对 109+710^9 + 7 取模。

^{\text{∗}}lcmlcm:最小公倍数

^{\text{†}}如果两个投票数组存在某个下标 ii 使得两数组在该位置上的元素不同,则称这两个数组不同

输入格式

第一行包含一个整数 tt1t1041 \leq t \leq 10^4)——表示测试用例的数量。

接下来有 tt 个测试用例。

每个测试用例的第一行包含两个整数 nnxx1n1051 \leq n \leq 10^5, x=1x = 1)——表示投票站的选民人数和 Egor 最喜欢的数字。

每个测试用例的第二行包含 nn 个整数:a1,a2,,ana_1, a_2, \dots, a_n1ai51051 \leq a_i \leq 5 \cdot 10^5)——表示选民带来的数字。

保证所有测试用例中 nn 的总和不超过 10510^5

输出格式

对于每个测试用例,输出满足条件的投票方案数,对 109+710^9 + 7 取模。

样例

4
4 1
2 3 1 4
2 1
2 4
6 1
3 9 1 6 4 5
7 1
1 2 3 67 13 8 8
8
4
40
64