You are given a tree with N nodes. Each node x has a value associated with it.
You will also be given Q queries of two types:
0 a x
: Set to x1 a b c
: Find number of nodes on the unique path from a to b with value v such that Input Format:
The first line contains two integers, N and Q
The second line contains N space separated integers, where the of them represents the value of node i.
Next lines contain two integers a and b, denoting that there is an undirected edge between nodes a and b.
Next Q lines contains a query in either of the above two formats.
Constraints:
where v is the value of any node at any given time
For query of type 0
, and
For query of type 1
, and
Output Format:
For each query of the second type, output as answer a single integer denoting the answer to that query.
Note: It is recommended to use faster I/O methods.
For the first query, the values on the path are 1, 2, 3. Here 1, 3 have gcd equal to 1 with 2.
The third query updates node 1's value to 2.
For the fourth query, the values now are 2, 2, 3. Here only 3 has gcd equal to 1 with 2.