#YHW2606. 割草

割草

割草


问题描述

小核桃觉得他的花园中杂草太多了,于是决定把杂草除一除。

花园可以看作一个 n×mn \times m 大小的矩阵,其中第 ii 行第 jj 列的地的杂草生长速度为每单位时间 ri,jr_{i,j}。注意,在 00 时间点,花园中没有杂草。

在本题中,会给出两个数组 {A1,A2,,An}\{A_1,A_2,\dots,A_n\}{B1,B2,,Bm}\{B_1,B_2,\dots,B_m\},其中 ri,j=Ai×Bjr_{i,j} = A_i \times B_j

接下来小核桃会进行 qq 次除草,第 ii 次除草发生在 tit_i 时间点,每次除草会把某一行或者某一列的所有杂草除掉。除草后 (i,j)(i,j) 上的杂草依然以 ri,jr_{i,j} 的速度生长。

小核桃想知道每次除草除掉的杂草量是多少。由于数据可能过大,所以你需要让答案对 109+710^9+7 取模后输出。


输入格式

第一行输入用空格隔开的正整数 n,mn, m,分别表示花园的大小(00 时刻花园没有杂草)。 第二行输入 nn 个整数,第 ii 个数表示 AiA_i。 第三行输入 mm 个整数,第 jj 个数表示 BjB_j。 第四行输入一个正整数 qq,表示有 qq 次除草操作。 接下来 qq 行,每行输入形式为以下两种中的一个:

  • 1 x t:在 tt 时刻除掉所有第 xx 行的草。
  • 2 y t:在 tt 时刻除掉所有第 yy 列的草。

输入保证 tt 递增。


输出格式

输出 qq 行,其中第 ii 行表示第 ii 次除草除掉的杂草数量,答案需要对 109+710^9+7 取模。


样例

输入

2 3
1 2
3 4 5
4
1 1 1
2 1 2
2 3 3
1 1 4

输出

12
15
40
23

样例解释

时间点 割草前矩阵 割草后矩阵 割草量
1 [[3, 4, 5], [6, 8, 10]] [[0, 0, 0], [6, 8, 10]] 12
2 [[3, 4, 5], [12, 16, 20]] [[0, 4, 5], [0, 16, 20]] 15
3 [[3, 8, 10], [6, 24, 30]] [[3, 8, 0], [6, 24, 0]] 40
4 [[6, 12, 5], [12, 32, 10]] [[0, 0, 0], [12, 32, 10]] 23

数据范围与约定

  • 对于 20% 的数据:1n,m,q2001 \le n, m, q \le 200
  • 对于 100% 的数据:1n,m,q1051 \le n, m, q \le 10^50Ai,Bj,t1090 \le A_i, B_j, t \le 10^9
  • 模数:109+710^9+7