#347. [R55G]数数场

[R55G]数数场

时空限制

3S/1024M

题目描述

jiangly 出了一场数数场后,发现大家很不擅长做数数题,于是 jiangly 决定在大赛中多放些数数题来难倒大家。

jiangly 出题的大赛一共有 nn 道题,第 ii 道题可能是数数题,也可能不是。

由于大家十分讨厌数数题,尤其是连续的数数题。因此为了不让大家彻底崩溃,jiangly 规定:不能出现连续 k+1k+1 道(或更多)的数数题。

大家在看到大赛题目后,会从第 11 题到第 nn 题按顺序浏览一遍。大家初始的“不满意度”为 11

在浏览过程中,如果遇到第 ii 道题是数数题,并且它恰好是当前连续出现的第 tt 道数数题,那么大家的不满意度就会乘以 ai,ta_{i,t}。(如果第 ii 道题不是数数题,则连续计数清零,不满意度不变)。

jiangly 希望求出在所有合法的出题方案中,大家最终“不满意度”的总和。由于答案可能很大,需要对 998244353998244353 取模。

但是,大家对于数数题的厌恶程度会随着时间而改变。具体来说,会发生 qq 次改变,每一次改变都形如:将 ai,ja_{i,j} 的值修改为 ttjiangly 希望在每一次修改之后,都能求出最新的所有合法方案的不满意度之和。

格式

输入格式

第一行包含两个整数 nnkk,意义如题目描述所述。

接下来的 nn 行,每行包含 kk 个整数。其中第 ii 行的第 jj 个数表示初始的 ai,ja_{i,j}

随后一行包含一个整数 qq,表示修改操作的次数。

接下来的 qq 行,每行包含三个整数 iijjtt,表示将 ai,ja_{i,j} 的值修改为 tt

输出格式

输出共 qq 行。每行包含一个整数,表示在对应的修改操作执行完成后,所有合法方案的不满意度之和对 998244353998244353 取模的结果。

样例

样例输入 #1

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

样例输出 #1

54
70

数据规模

注意:你只有通过了子任务的所有测试点,才能获得对应子任务的分数。

子任务编号 分数 nn \le qq \le
11 3030 1010 10001000
22 2020 20002000
33 5050 5000050000

对于 100%100\% 的数据,1n5×1041 \leq n \leq 5\times 10^41q5×1041 \leq q \leq 5\times 10^41k51 \le k \le 51ai,j,t1091 \le a_{i,j}, t \le 10^91in1 \le i \le n1jk1 \le j \le k