#ZT2E. 阿兔与 GCD 函数

阿兔与 GCD 函数

题目描述

aa , bbcc 为整数。我们将函数 f(a,b,c)f(a, b, c) 定义如下:

将数字 aabbcc 排序为 abca \le b \le c 。然后返回 gcd(a,c)\gcd(a, c) ,其中 gcd(a,c)\gcd(a, c) 表示整数 aacc 的最大公约数。

给你一个由 nn 个元素组成的数组 aa 。计算每个 ii , jj , kkf(ai,aj,ak)f(a _ i, a _ j, a _ k) 的和,使得 1i<j<kn1 ≤ i < j < k ≤ n

更正式地说,请你计算 $ans = \sum_{i = 1}^n \sum_{j = i+1}^n \sum_{k =j +1}^n f(a_i, a_j, a_k)$。

输入格式

每个测试包含多个测试用例。第一行包含测试用例的数量 tt (1t105)(1 \le t \le 10^5),测试用例说明如下:

每个测试用例的第一行都包含一个整数 nn (1n105)(1 \le n \le 10^5) - 数组长度 aa

每个测试用例的第二行包含 nn 个整数 a1,a2,,ana_1, a_2, …, a_n 个整数 (1ai105)(1 \le a_i \le 10^5) - 数组 aa 的元素。

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

输出格式

对于每个测试用例,输出一个数字,即问题陈述中的总和。

注意:答案可能极大,请使用合适的数据类型存储。

2
5
2 3 6 12 17
8
6 12 8 10 15 12 18 16
15
221