#abc248g. [abc248_g]GCD cost on the tree
[abc248_g]GCD cost on the tree
Problem Statement
You are given an undirected tree with vertices.
Let us call the vertices Vertex , Vertex , , Vertex . For each , the -th edge connects Vertex and Vertex .
Additionally, each vertex is assigned a positive integer: Vertex is assigned .
The cost between two distinct vertices and , , is defined as follows.
Let , , , be the vertices of the simple path connecting Vertex and Vertex , where is the number of vertices in the path (including the endpoints).
Then, let $C(s,t)=k\\times \\gcd (A_{p_1},A_{p_2},\\ldots,A_{p_k})$,
where denotes the greatest common divisor of .
Find $\\displaystyle\\sum_{i=1}^{N-1}\\sum_{j=i+1}^N C(i,j)$, modulo .
Constraints
- All values in input are integers.
- The given graph is a tree.
Input
Input is given from Standard Input in the following format:
Output
Print $\\displaystyle\\sum_{i=1}^{N-1}\\sum_{j=i+1}^N C(i,j)$, modulo .
Sample Input 1
4
24 30 28 7
1 2
1 3
3 4
Sample Output 1
47
There are edges directly connecting Vertex and , Vertex and , and Vertex and . Thus, the costs are computed as follows.
Thus, the sought value is $\\displaystyle\\sum_{i=1}^{3}\\sum_{j=i+1}^4 C(i,j)=(12+8+3)+(6+4)+14=47$ modulo , which is .
Sample Input 2
10
180 168 120 144 192 200 198 160 156 150
1 2
2 3
2 4
2 5
5 6
4 7
7 8
7 9
9 10
Sample Output 2
1184