Boy XYZ introduced a simple math function called GLL for an array of integers S=a_1,a_2,…,a_n:
GLL(S)=GCD(S)⋅ LCM(S)⋅LCM(S).
Here, GCD(S)=GCD(a_1,a_2,…,a_n) is the greatest common divisor of integers a_1,a_2,…,a_n, and LCM(S)=LCM(a_1,a_2,…,a_n) is the least common multiple of integers a_1,a_2,…,a_n.
For an array consisting of one element, GCD and LCM are equal to that element. For example, GCD of S=x is x. Consider the LCM and GCD of an empty array as 0.
Now, XYZ is interested in finding the sum of GLL values of all subarrays for a given array A, but he finds the problem very hard. Help him calculate the following:
Answer=∑_S⊆AGLL(S).
Here, S⊆A means that S is a subarray of A, that is, the array A with some (possibly zero, possibly all) elements removed.
As the answer can be very large, print it modulo 109+7.
The first line of input contains T, the number of test cases (1≤T≤50). T test cases follow.
The first line of each test case contains N, the number of elements in A (1≤N≤100). The next line contains N space-separated positive integers: the elements of A. The numbers in the array are in the range \[1,1000].
For each test case, print the answer on a separate line.