输入第一行一个正整数n,第二行n个整数v,第三行到第n+1行每行两个数u、v代表u和v之间有一条边。
接下来一行一个整数(m<=100000),下面m行每行一个操作。操作格式如下:
SUBADD i v i的子树加上v
SUBMAX i v i的子树对v取max
SUBMIN i v i的子树对v取min
CHAINADD i j v i到j的路径上每个点加上v
CHAINMAX i j v i到j的路径上每个点对v取max
CHAINMIN i j v i到j的路径上每个点对v取min
SUBXGW i v i的子树修改为v
CHAINXGW i j v i到j的路径上每个点修改为v
CHAINREV i j i到j的路径进行权值翻转
SUBQUE i 输出i的子树和
CHAINQUE i j 输出i到j路径上的权值和
操作中所有v和点的初始权值v满足v<=1000000,保证全程不会有点权值超过10^9+7