#L3917. 「PA 2022」Drzewa rozpinające

    ID: 3188 传统题 1000ms 512MiB 尝试: 1 已通过: 1 难度: 10 上传者: 标签>数论线性代数高斯消元快速幂欧拉函数最大公约数 (gcd)最小公倍数 (lcm)矩阵行列式模运算逆元

「PA 2022」Drzewa rozpinające

题目描述

题目译自 PA 2022 Runda 5 Drzewa rozpinające

给定一个长为 nn 的整数序列 a1,a2,,ana_1, a_2, \ldots, a_n。根据这个序列你可以生成一个 nn 个节点的无向图:节点 iijj 之间(对于 iji \neq j)有 gcd(ai,aj)\gcd(a_i, a_j) 条可区分的边将这两个节点相连。你的任务是计算这个图的生成树数量。如果对于两棵树,其中一棵树包含另一棵树中不存在的边,那么就认为这两棵树不同。因为生成树数量很大,请输出它对 109+710^9+7 取模后的值。

输入格式

输入第一行一个整数 nn (1n50001 \le n \le 5\,000),表示整数序列的长度。

第二行 nn 个整数 a1,a2,,ana_1, a_2, \ldots, a_n (1ai50001 \le a_i \le 5\,000),表示这个整数序列。

输出格式

输出一行一个整数,表示生成的图的生成树个数,对 109+710^9+7 取模。

4
1 2 3 4

24

数据规模与约定

对于所有数据,保证:

1n5,0001 \le n \le 5,000

1ai5,0001 \le a_i \le 5,000

kick:数据比较小,实际跑不到最差