题目描述
这是一道模板题。
给一棵有根树,这棵树由编号为 $1\dots N$ 的 N 个结点组成。根结点的编号为 R。每个结点都有一个权值,结点 i 的权值为 $v_i$。
接下来有 M 组操作,操作分为两类:
1 a x,表示将结点 a 的子树上所有结点的权值增加 x;
2 a,表示求结点 a 的子树上所有结点的权值之和。
输入格式
第一行有三个整数 N,M 和 R。
第二行有 N 个整数,第 i 个整数表示 $v_i$。
在接下来的 N-1 行中,每行两个整数,表示一条边。
在接下来的 M 行中,每行一组操作。
输出格式
对于每组$ \texttt{2 a}$ 操作,输出一个整数,表示「以结点 a 为根的子树」上所有结点的权值之和。
样例
输入 10 14 9 12 -6 -4 -3 12 8 9 6 6 2 8 2 2 10 8 6 2 7 7 1 6 3 10 9 2 4 10 5 1 4 -1 2 2 1 7 -1 2 10 1 10 5 2 1 1 7 -5 2 5 1 1 8 2 7 1 8 8 2 2 1 5 5 2 6 输出 21 33 16 17 27 76 30数据范围与提示 $1\leqslant N, M\leqslant 10^6, 1\leqslant R\leqslant N, -10^6\leqslant v_i, x\leqslant 10^6.$