#Lutece3156. 猫树

猫树

Migrated from Lutece 3156 猫树

All parts of this problem, including description, images, samples, data and checker, might be broken. If you find bugs in this problem, please contact the admins.

Description

Tag:可并堆

ww最近在玩怪猎。

现在小ww手下的mm只猫想要占领一棵有nn个节点的树。

这棵树节点编号为1n1\sim n,除11号城池外,城池ii会受到另一个节点fif_i的管辖,其中fi<if_i<i

mm只猫用1m1\sim m的整数表示,其中第ii只猫的战斗力为aia_i,准备第一个占领的节点为bib_i

每个节点上有一只龙,血量为hih_i,如果一只猫的战斗力大于等于龙的血量,那么它可以打败这条龙并占领这个节点,否则猫猫会马上逃跑。猫猫在打败龙后,信心增长,战斗力会发生变化,然后继续攻击管辖这个节点的节点,直到逃跑或占领11号节点。

11号节点外,每个节点会给出一个战斗力变化参数(tyi,vi)({ty}_i,v_i),如果tyi=0{ty}_i=0,那么猫猫的战斗力会增加viv_i,如果tyi=1{ty}_i=1,那么猫猫的战斗力会乘以viv_i

注意每只猫是单独计算的,也就是说,每只猫的占领结果不会影响到其他猫。

现在小ww想知道对于每个节点,有多少只猫会在这里逃跑;对于每只猫,它能占领多少个节点。

Input

第1行包含两个正整数n,mn,m,表示节点和猫的数量。

第2行包含nn个正整数,其中第ii个数为hih_i,表示第ii个节点上的龙的血量.。

3n+13\sim n+1行,每行包含三个整数。其中第i+1i+1行为fi,tyi,vif_i,{ty}_i,v_i,表示第ii个节点的管辖节点编号和战斗力变化参数。

n+2n+m+1n+2\sim n+m+1行,每行包含两个整数。其中第n+in+i行的两个数为ai,bia_i,b_i,分别表示第ii只猫的初始战斗力和第一个占领的节点。

Output

输出n+mn+m行,每行包含一个非负整数。其中前nn行分别表示在城池1n1\sim n逃跑的猫猫数量,后mm行分别表示猫猫1m1\sim m占领的节点数量。

Samples

5 5
50 20 10 10 30
1 1 2
2 0 5
2 0 -10
1 0 10
20 2
10 3
40 4
20 4
35 5
2
2
0
0
0
1
1
3
1
1

Constraints

$1\leq n,m\leq 3\times 10^5,0\leq h_i,a_i\leq 10^9,-10^{9}\leq v_i\leq 10^9,1\leq f_i< i,1\leq b_i\leq n,{ty}_i\in \{0,1\}$,保证tyi=1{ty}_i=1时,vi>0v_i>0。保证任何时候猫的战斗力不会超过101810^{18}

Resources

2024 UESTC ICPC Training for Data Structure