CF463E Caisa and Tree
题目描述
给出 $n$ 个点,以 $1$ 为根的树,点 $u$ 有点权 $a_u$,$q$ 次操作,每次操作为以下两种中的一种:
- `1 u`:查询点 $u$ 的一个最近祖先 $v$,使得 $\gcd(a_u,a_v)>1$,没有则输出 $-1$。
- `2 u d`:修改 $a_u$ 为 $d$。
其中,$2$ 操作次数不超过 $50$ 次。
$1\le n,m\le 10^5,1\le a_u\le 2\times10^6$
输入格式
第一行两个正整数 $n$ 和 $q$。
第二行 $n$ 个正整数,表示点权。
之后的 $n-1$ 行,每行描述一条树上的边。
接下来的 $q$ 行,每行描述一个操作,格式和意义如上。
保证 $2$ 操作的数量不超过 $50$。
输出格式
对于每个 $1$ 操作,输出答案。
说明/提示
$ gcd(x,y) $ is greatest common divisor of two integers $ x $ and $ y $ .