问题 4829 --2.树上取模

4829: 2.树上取模

题目描述

  小旷有一个花园,里面有 $n$ 个花棚,编号 $1 \sim n$ ,每个花棚里有一定数量的花 $a_i$ 。小旷花园的路十分神奇,可以使得任意两个花棚之间仅有一条最短路,即形成树结构,其中根节点是 $1$ 号花棚。

现在小旷打算修缮一下他的花园,重新分配每个花棚里花的数量。为了能方便快捷地知道花园的情况,小旷现在需要你的帮助。

具体地说,小旷共有 $m$ 个操作。操作有三种:
  • 1 u k:表示如果一个花棚在以 $u$ 号花棚为根的子树中,那么小旷会把这些花棚花的数量模 $k$
  • 2 u x:表示小旷将 $u$ 号花棚花的数量变成 $x$
  • 3 u v:表示小旷询问从 $u$ 号花棚走到 $v$ 号花棚总共能看到的花的数量。

输入

第一行有两个正整数 $n$$m$,代表花棚的数量和小旷操作的个数。
接下来 $n-1$ 行,每行两个正整数 $u,v(1≤u,v≤n,u≠v)$ ,表示 $u$ 号花棚与 $v$ 号花棚直接有路相连。
下一行有 $n$ 个非负整数 $a_1,a_2,\dots, a_n$ ,表示起始时每个花棚中花的数量。
接下来 $m$ 行,一行表示一个操作,格式如题所述。(可参考样例)

输出

对于每个操作 3 输出一行一个整数,表示结果。

样例输入输出

输入#1 复制
8 7 
1 2 
2 3 
2 4 
2 5 
1 6 
6 7 
6 8 
1 2 3 4 5 6 7 8 
3 3 6 
1 2 3 
2 2 4 
3 4 8 
2 3 11 
1 1 5 
3 3 7
输出#1 复制
12
20
9

提示

对于 $20\%$ 的数据,$ n,m \leq 2000 $ ;
对于 $30\%$ 的数据,无操作 1 ;
对于 $100\%$ 的数据,$1\leq n,m \leq 10^5 , 0 \leq a_i,x,k \leq 10^8, k \geq 1$

序号 标题 作者 发表时间 费用 订购数 操作