给你一棵边权为 $1$,且以 $1$ 为根的有根树,每个点有初始为 $0$ 的点权值,定义两个点的距离为其在树上构成的简单路径的长度,需要支持两种操作:
1 a x y z:把 $a$ 子树中所有与 $a$ 的距离模 $x$ 等于 $y$ 的节点权值加 $z$
1 a x y z
2 a: 查询 $a$ 节点的权值
2 a
本题采用多组数据。
第一行一个数 $t$ 表示数据组数。
每组数据中,第一行两个数 $n$ $m$ 表示树的节点数为 $n$,有 $m$ 次操作。
第二行 $n - 1$ 个数,第 $i$ 个数 $f_i$ 表示树上第 $i+1$ 个节点的父亲节点之后 $m$ 行,每行形如1 a x y z或2 a,表示上述的操作。
对于每个 $2$ 操作,输出一行一个数表示答案。
1 5 5 1 1 2 1 1 1 5 4 1 1 1 4 1 5 1 2 1 0 4 2 3 2 1
5 0
$t = 3n , m = 300000$
$1 \le f_i \le i$
$1 \le a \le n$
$1 \le x \le n$
$0 \le y < x$