#cmd11. 集合

集合

集合

本题是对 NOI2024 "集合" 的严格加强.

题面描述上, 原题和本题唯一区别是: 原题只需查询是否存在一个排列符合条件, 但是本题查询符合条件的排列的数量.

题目描述

小 Y 和小 S 在玩一个游戏。

给定正整数 mm,定义基本集合为大小为 33,元素在 1m1\sim m 内的集合。例如:给定 m=4m=4,则集合 {1,2,3}\{1,2,3\} 与集合 {2,3,4}\{2,3,4\} 都是基本集合。

定义集合序列为由基本集合构成的序列,例如,A=[{1,2,3},{2,3,4}]A=[\{1,2,3\},\{2,3,4\}] 是一个集合序列,其中 A[1]={1,2,3}A[1]=\{1,2,3\}A[2]={2,3,4}A[2]=\{2,3,4\} 都是基本集合。

对于一个 1m1\sim m 的排列 p[1],p[2],,p[m]p[1],p[2],\dots,p[m] 与集合 S{1,2,,m}S\subseteq \{1,2,\dots,m\},定义 fp(S)f_p(S) 为将 SS 内每一个元素 xx 置换为 p[x]p[x] 后所得到的集合,即 fp(S)={p[x]xS}f_p(S)=\{p[x]|x\in S\}

qq 次询问,每次询问给出 l,rl,r, 请你求出,有多少个 1m1\sim m 的排列 pp,使得在区间 [l,r][l,r] 中, AA 置换排列 pp 后可以得到 BB,即对于所有 lirl\leq i\leq rfp(A[i])=B[i]f_p(A[i])=B[i]

时光荏苒,小 S 和小 Y 也会散去。而我们和一个人保持连接的方式就是记住,仅此而已。

输入格式

输入的第一行包含三个正整数 n,m,qn,m,q,分别表示集合序列的长度,元素范围和询问次数。

输入的第二行包含 3n3n 个正整数,第 3i2,3i1,3i3i-2,3i-1,3i1in1\leq i\leq n)个正整数分别表示 A[i]A[i] 的三个元素。保证这三个元素均在 [1,m][1,m] 范围内且互不相同。

输入的第三行包含 3n3n 个正整数,第 3i2,3i1,3i3i-2,3i-1,3i1in1\leq i\leq n)个正整数分别表示 B[i]B[i] 的三个元素。保证这三个元素均在 [1,m][1,m] 范围内且互不相同。

接下来 qq 行,每行包含两个正整数 l,rl,r,表示一次询问。

输出格式

输出 qq 行,每行包含一个整数,表示满足条件的排列个数模 998244353998244353 意义下的结果。

样例 #1

样例输入 #1

4 4 10
1 2 3 1 2 3 1 2 4 1 2 3
1 2 4 2 3 4 1 2 3 2 3 4
1 1
1 2
1 3
1 4
2 2
2 3
2 4
3 3
3 4
4 4

样例输出 #1

6
0
0
0
6
2
2
6
2
6

提示

对于样例1的解释:

以下用 (l,r)(l,r) 表示对 l,rl,r 的询问:

  • 对于询问 (1,1)(1,1),排列 p=[1,2,4,3]p=[1,2,4,3]p=[1,4,2,3]p=[1,4,2,3]p=[2,1,4,3]p=[2,1,4,3]p=[2,4,1,3]p=[2,4,1,3]p=[4,1,2,3]p=[4,1,2,3]p=[4,2,1,3]p=[4,2,1,3],时满足条件。
  • 对于询问 (1,2),(1,3),(1,4)(1,2),(1,3),(1,4),由于 A[1]=A[2]A[1]=A[2]B[1]B[2]B[1]\neq B[2],因此这些询问都不存在满足条件的排列。

对于所有测试数据保证:1n2×1051\leq n\leq 2\times 10^53m6×1053\leq m\leq 6\times 10^51q1061\leq q\leq 10^61lrn1\leq l\leq r\leq n

测试点编号 nn \le mm \le qq \le
11 33 11
242\sim4 20002000 55 10001000
575\sim7 2×1052 \times 10^5 2×1052 \times 10^5
8118\sim11 20002000 60006000 10310^3
121612\sim16 2×1052 \times 10^5 3×1053\times 10^5 5×1045 \times 10^4
172017\sim20 10610^6
212521\sim25 6×1056 \times 10^5