华华和奕奕的旅行
时间限制:C/C++/Rust/Pascal 5秒,其他语言10秒
空间限制:C/C++/Rust/Pascal 512 M,其他语言1024 M
64bit IO Format: %lld

题目描述

华华和奕奕来到了C城市旅行。在C城市观光多天后他们发现C城市经常断水,于是热心的他们决定研究一下断水的原因。经过观察,他们发现C城市有n个地区,每个地区每天都有各自的产水量w[i]以及用水量c[i],每个地区产的水可以供本地区使用,也可以向它管辖的地区输送水。一个地区可以管辖多个地区,但是一个地区只能被其中一个地区管辖,且1号地区不被任何地区管辖。换句话说,管辖关系构成一棵有根树,且树根为1。通过长时间的研究他们发现了n个地区的管辖关系。但每个地区的产水量总是不停变化,使得研究过程过于困难。于是他们决定写程序来解决。
有Q次操作:
若op==1,输入a,b,表示w[a]=w[a]+b。
若op==2,输入a,b,表示w[a]=w[a]-b。
若op==3,输出是否每个地区都不缺水。

输入描述:

第一行输入n
接下来n-1行,每行输入x,y,表示x管辖y。
接下来一行输入n个数表示每个地区的产水量,即w[i]。
接下来一行输入n个数表示每个地区的用水量,即c[i]。
输入Q
接下来Q行
每行先输入op,若op!=3,输入a,b
1<=n,Q<=1e5,0<=w[i],c[i]<=1e9
1<=x,y<=n,1<=a<=n,1<=b<=1e9
数据保证w[i]不会减为负数,且op==1的情况不超过500次

输出描述:

对于每次询问,若所有地区都不缺水,输出"YES"
否则,输出"NO"
示例1

输入

复制
7
1 2
1 3
2 4
3 5
5 6
5 7
8 5 3 2 1 1 2
1 4 4 5 0 1 1
8
3
2 2 4
2 4 2
3
1 1 1
3
1 3 1
3

输出

复制
YES
NO
NO
YES