题目描述
在 P 大学中,很多课程设立了小班课,每门同学可以自由根据需求选择小班课。当然,小班课的容量并不是无限的,并不是每个同学都能选上心仪的小班课。
本学期,共有 $n$ 名同学报名了 A 课程,该课程共设立了 $m$ 门小班课,第 $i$ 门小班课有容量 $b_i$。第 $i$ 名同学对小班课有一个意向度排序 $a_{i,1}\sim a_{i,m}$,其中 $a_{i,1}$ 表示意向度最高的课程,$a_{i,m}$ 表示意向度最低的课程。选课的具体过程如下:同学按照 $1\sim n$ 的顺序选课,每次选课时,会选择自己意向度最高且没有被选满的小班课,若所有小班课都已被选满则该同学不会进行选课。
现在作为助手,你了解了所有同学的选课意向 $a$。你需要处理 $q$ 个事件,每个事件为以下两种之一:
- 有的同学修改了自己的意向度排序。
- 你需要回答以下询问:如果小班课的容量为 $b_1 \sim b_m$,最终每门小班课的剩余容量是多少?
输入格式
第一行三个正整数 $n, m, q$($1 \le n, q < 131072$,$2 \le m \le 5$),分别表示选课同学数、小班课数量以及事件个数。
接下来 $n$ 行每行 $m$ 个数,其中第 $i$ 行第 $j$ 个数为 $a_{i,j}$($1 \le a_{i, j} \le m$)。保证 $a_{i, 1} \sim a_{i, m}$ 是 $1 \sim m$ 的一个排列。
接下来 $q$ 行,每行第一个整数为 $opt \in \{1, 2\}$,表示事件种类:
若 $opt = 1$,则接下来为 $m + 1$ 个整数 $x, c_1, c_2, \dots, c_m$($1 \le x \le n$,$1 \le c_i \le m$),表示将第 $x$ 名同学的意向度排序改为 $c_1\sim c_m$。保证 $c_1 \sim c_m$ 是 $1 \sim m$ 的一个排列。
若 $opt = 2$,则接下来为 $m$ 个整数 $b_1, b_2, \dots, b_m$($0 \le b_i \le n$),表示小班课容量为 $b_1 \sim b_m$ 的一次询问。
输出格式
对于每一个 $opt = 2$ 的事件,你需要输出一行 $m$ 个整数,其中第 $i$ 个整数表示第 $i$ 个小班课的剩余量。
样例数据
样例 1 输入
5 3 5
1 2 3
1 2 3
3 2 1
3 1 2
2 1 3
2 3 1 3
2 1 4 1
2 1 4 4
1 2 3 2 1
2 1 4 4
样例 1 输出
1 0 1
0 1 0
0 2 2
0 3 1