#D9904. GCD Counting

    ID: 8230 Type: Default 4500ms 256MiB

GCD Counting

GCD Counting

You are given a tree consisting of n vertices. A number is written on each vertex; the number on vertex i is equal to a_i.

Let's denote the function g(x, y) as the greatest common divisor of the numbers written on the vertices belonging to the simple path from vertex x to vertex y (including these two vertices).

For every integer from 1 to 2 ⋅ 10^5 you have to count the number of pairs (x, y) (1 ≤ x ≤ y ≤ n) such that g(x, y) is equal to this number.

Input

The first line contains one integer n — the number of vertices (1 ≤ n ≤ 2 ⋅ 10^5).

The second line contains n integers a_1, a_2, ..., a_n (1 ≤ a_i ≤ 2 ⋅ 10^5) — the numbers written on vertices.

Then n - 1 lines follow, each containing two integers x and y (1 ≤ x, y ≤ n, x ≠ y) denoting an edge connecting vertex x with vertex y. It is guaranteed that these edges form a tree.

Output

For every integer i from 1 to 2 ⋅ 10^5 do the following: if there is no pair (x, y) such that x ≤ y and g(x, y) = i, don't output anything. Otherwise output two integers: i and the number of aforementioned pairs. You have to consider the values of i in ascending order.

See the examples for better understanding.

Examples

Input

3 1 2 3 1 2 2 3

Output

1 4 2 1 3 1

Input

6 1 2 4 8 16 32 1 6 6 3 3 4 4 2 6 5

Output

1 6 2 5 4 6 8 1 16 2 32 1

Input

4 9 16 144 6 1 3 2 3 4 3

Output

1 1 2 1 3 1 6 2 9 2 16 2 144 1

inputFormat

Input

The first line contains one integer n — the number of vertices (1 ≤ n ≤ 2 ⋅ 10^5).

The second line contains n integers a_1, a_2, ..., a_n (1 ≤ a_i ≤ 2 ⋅ 10^5) — the numbers written on vertices.

Then n - 1 lines follow, each containing two integers x and y (1 ≤ x, y ≤ n, x ≠ y) denoting an edge connecting vertex x with vertex y. It is guaranteed that these edges form a tree.

outputFormat

Output

For every integer i from 1 to 2 ⋅ 10^5 do the following: if there is no pair (x, y) such that x ≤ y and g(x, y) = i, don't output anything. Otherwise output two integers: i and the number of aforementioned pairs. You have to consider the values of i in ascending order.

See the examples for better understanding.

Examples

Input

3 1 2 3 1 2 2 3

Output

1 4 2 1 3 1

Input

6 1 2 4 8 16 32 1 6 6 3 3 4 4 2 6 5

Output

1 6 2 5 4 6 8 1 16 2 32 1

Input

4 9 16 144 6 1 3 2 3 4 3

Output

1 1 2 1 3 1 6 2 9 2 16 2 144 1

样例

4
9 16 144 6
1 3
2 3
4 3
1 1

2 1 3 1 6 2 9 2 16 2 144 1

</p>