给一棵n个点的树,每个点有点权wi,1号点为根。给q个操作:
1 x y,将x点的点权改成y。2 x,询问x点子树的点权和。3 x,将根换到x位置。第一行两个整数n,q(1≤n,q≤2×105)。
接下来n−1行,每行两个整数u,v表示一条边的两个端点。
接下来一行n个数,w1,w2,…,wn(1≤wi≤109)。
接下来q行,每行一个操作,保证1≤x≤n,1≤y≤109。
对于每个询问操作,输出一个数表示答案。
5 6
1 2
2 3
2 4
3 5
1 2 3 4 5
2 3
1 2 10
3 3
2 3
3 5
2 3
8
23
18