AT_kupc2021_i Good LACK
Description
[problemUrl]: https://atcoder.jp/contests/kupc2021/tasks/kupc2021_i
$ N $ 個の頂点からなる根付き木があります。各頂点には $ 1 $ から $ N $ までの番号がついており、頂点 $ 1 $ が根になっています。 頂点 $ i $ $ (2\ \leq\ i\ \leq\ N\ ) $ の親は $ P_i $ です。
各頂点にはおもちゃの箱があります。また、各頂点には人がいます。
はじめ、頂点 $ i $ のおもちゃの箱にはおもちゃが $ A_i $ 個入っています。
また、頂点 $ i $ にいる人はおもちゃを $ C_i $ 個集めることを目標にしています。ここで、
- 頂点 $ i $ にいる人は、頂点 $ i $ を根とする部分木のうちからいくつかの頂点を選び、選んだ各頂点からそれぞれ好きな数のおもちゃをとることができる
とします。
全員の目標を同時に達成することが可能かどうかを判定してください。(ただし、同一のおもちゃを複数の人がとることはできません。)
さらに、 $ Q $ 個のクエリが与えられます。 $ i $ 個目のクエリでは、整数 $ t_i,v_i,x_i $ が与えられ、次のように値を変更します。
- $ t_i\ =\ 1 $ のとき $ A_{v_i} $ の値を $ x_i $ に変更する
- $ t_i\ =\ 2 $ のとき $ C_{v_i} $ の値を $ x_i $ に変更する
各クエリ後に、その時点で全員の目標を同時に達成することが可能かどうかを判定してください。
ただし、全員の目標を同時に達成することが可能かどうかの判定において、実際におもちゃが移動することはないことに注意してください。(つまり、各判定は独立に考えられるものとします。)
Input Format
入力は以下の形式で標準入力から与えられる。
> $ N $ $ P_2 $ $ \cdots $ $ P_N $ $ A_1 $ $ \cdots $ $ A_N $ $ C_1 $ $ \cdots $ $ C_N $ $ Q $ $ t_1 $ $ v_1 $ $ x_1 $ $ t_2 $ $ v_2 $ $ x_2 $ $ : $ $ t_Q $ $ v_Q $ $ x_Q $
Output Format
各時点において、全員の目標を同時に達成することが可能な場合 `Yes` を、不可能な場合 `No` を $ 1 $ 行ごとに出力してください。
すなわち、最初の状態での答えを $ 1 $ 行目に、$ i $ $ (1\ \leq\ i\ \leq\ Q\ ) $ 個目のクエリ後の状態での答えを $ i\ +\ 1 $ 行目に出力してください。
Explanation/Hint
### 制約
- $ 1\ \leq\ N\ \leq\ 10^5 $
- $ 1\ \leq\ P_i\