编程题
### 问题描述
卓卓和锵锵玩游戏,具体如下:有一棵包含 $N$ 个节点的树,初始时全部未着色。在游戏中,卓卓有两种行动:
1. 命令:用给定的颜色给特定节点着色。
2. 查询:询问锵锵从节点 $a$ 到节点 $b$(两端都包括)的路径是否单色(即路径上所有节点是否颜色相同)。
卓卓可以按任意顺序执行这些步骤,每个节点最多着色一次。每当卓卓向锵锵提出一个查询时,锵锵必须回忆树的着色情况,并回答“是”或“否”。
### 输入格式
输入的第一行包含一个整数 $N$,表示树中节点的数量。
接下来的 $N-1$ 行包含 $2$ 个以空格分隔的整数 $u$ 和 $v$,表示顶点 $u$ 和顶点 $v$ 之间有一条边。
接下来一行包含一个整数 $Q$ ,表示卓卓想要提出的输入(命令和查询)的数量。
接下来的 $Q$ 行包含 $3$ 个以空格分隔的整数 $x$,$a$,$b$。如果 $x$ 为 $1$,则表示命令,着色节点 $a$ 为颜色 $b$,保证 $0 \leq a \leq N-1$ 和 $1 \leq b \leq 30$。如果 $x$ 为 $2$,则表示查询,锵锵应该回答从节点 $a$ 到节点 $b$(两端都包括)的路径是否单色,保证 $0 \leq a \leq b \leq N-1$。
树的所有顶点都是从 $0$ 开始编号的。
### 输出格式
对于每个查询,输出 `YES` 或 `NO`,表示从节点 $a$ 到节点 $b$(两端都包括)的路径是否单色。
即使从节点 $a$ 到节点 $b$(两端都包括)的路径上所有节点都未着色,也输出 `NO`。
### 样例输入
```
3
0 1
1 2
7
1 0 11
2 0 1
2 0 2
1 2 12
1 1 11
2 0 1
2 0 2
```
### 样例输出
```
NO
NO
YES
NO
```
### 评测数据规模
$1 \leq N, Q \leq 10^5$。