Description
您是一家建筑公司的老板。一开始,公司共有 g 类员工,每一类员工都属于一个工种。第 i 类员工的工种编号为 ti,共有 ui 人。
市场上共有 n 项工程等待承接。想要承接第 i 项工程,您的公司需要满足 mi 项要求,其中第 j 项要求您的公司至少有工种编号为 ai,j 的员工 bi,j 人。承接该工程后,您的公司将会更加有名,并吸引 ki 类员工加入公司,其中第 j 类员工的工种编号为 ci,j,共有 di,j 人。
您可以按任意顺序承接任意数量的工程,每项工程最多只能被承接一次。求最多能承接多少工程。
请注意:员工不是消耗品。承接一项工程后,员工的数量不会减少。
每个测试文件仅有一组测试数据。
第一行首先输入一个整数 g(1≤g≤105)表示一开始公司内员工的种类数。接下来输入 g 对整数 t1,u1,t2,u2,⋯tg,ug(1≤ti,ui≤109),其中 ti 和 ui 表示一开始工种编号为 ti 的员工共有 ui 人。保证对于所有 1≤i<j≤g 有 ti=tj。
第二行输入一个整数 n(1≤n≤105)表示等待承接的工程数量。
对于接下来 2n 行,每两行描述一项工程。
第 (2i−1) 行首先输入一个整数 mi(0≤mi≤105)表示承接第 i 项工程有几项要求。接下来输入 mi 对整数 $a_{i, 1}, b_{i, 1}, a_{i, 2}, b_{i, 2}, \cdots, a_{i, m_i}, b_{i, m_i}$(1≤ai,j,bi,j≤109),其中 ai,j 和 bi,j 表示公司至少要有工种编号为 ai,j 的员工 bi,j 人。保证对于所有 1≤x<y≤mi 有 ai,x=ai,y。
第 2i 行首先输入一个整数 ki(0≤ki≤105)表示承接第 i 项工程之后有几类员工加入公司。接下来输入 ki 对整数 $c_{i, 1}, d_{i, 1}, c_{i, 2}, d_{i, 2}, \cdots, c_{i, k_i}, d_{i, k_i}$(1≤ci,j,di,j≤109),其中 ci,j 和 di,j 表示工种编号为 ci,j 的员工共 di,j 人加入公司。保证对于所有 1≤x<y≤ki 有 ci,x=ci,y。
保证 mi 与 ki 之和均不超过 105。
输出一行一个整数表示最多能承接几项工程。
【样例解释】
样例解释如下,用 (t,u) 表示工种为 t 的员工有 u 名。
首先承接没有任何要求的第 5 项工程,承接后工种为 3 的 2 名员工加入公司。公司内现有员工为 {(1,2),(2,1),(3,2)}。
接下来承接第 1 项工程,承接后没有员工加入公司。公司内现有员工仍为 {(1,2),(2,1),(3,2)}。
接下来承接第 2 项工程,承接后工种为 3 的 2 名员工,以及工种为 2 的 1 名员工加入公司。公司内现有员工为 {(1,2),(2,2),(3,4)}。
接下来承接第 4 项工程,承接后工种为 1 的 3 名员工加入公司。公司内现有员工为 {(1,5),(2,2),(3,4)}。
由于工种为 2 的员工不足 3 名,因此无法承接仅剩的第 3 项工程。
2 2 1 1 2
5
1 3 1
0
2 1 1 2 1
2 3 2 2 1
3 1 5 2 3 3 4
1 2 5
3 2 1 1 1 3 4
1 1 3
0
1 3 2
4