编程题
### 题目大意
给出一棵以 $1$ 为根结点含有的 $𝑛$ 个节点的有根树。
每个结点都是蓄水池,可以是空的,也可以是满的,我们用权值来表示,$1$ 表示这个结点装满了水,$0$ 表示这个结点没有任何水。
一共进行 $𝑚$ 次操作。每次操作有 $2$ 种:
+ 操作 $1$,输入 $get$ $x$,询问结点 $x$ 的子树中有多少个结点是装满水的。
+ 操作 $2$,输入 $po w$ $x$,将结点 $x$ 的子树中装满水的全部倒空,空的结点的装满水。
对于每个操作 $1$ 的询问给出答案。
### 输入格式
第一行输入包含一个整数 $n$,表示树的节点的数量。
第二行行包含 $n - 1$ 个用空格分开的数字 $p_2,p_3,...,p_n$,$p_i$ 是第 $i$ 个结点的父亲。
第三行包括 $n$ 个空格分隔的整数,$t_1,t_2,...,t_n$,表示该结点的蓄水状况。
第四行行包含一个整数 $q$ ,表示操作的数量。
接下来 $q$ 行包括表 $get$ $x$ 和 $po w$ $x$,表示题目描述的操作。
### 输出格式
按顺序输出对于每个操作 $1$ 的询问的答案。
### 样例输入
```txt
4
1 1 1
1 0 0 1
9
get 1
get 2
get 3
get 4
pow 1
get 1
get 2
get 3
get 4
```
### 样例输出
```txt
2
0
0
1
2
1
1
0
```
### 评测数据规模
对于 $100$% 的评测数据,$1\leq n ,q\leq 200000,1 \leq x\leq n,0\leq t_i \leq 1,1\leq p_i < i$。