#YDRG012F. 碎镜

碎镜

题目背景

苦难与欢欣沉入往昔的迷雾,不甘的灵魂掩埋在过往的废墟,不经意的誓言却化为天各一方。

可就算如此否定一个个过去,破碎的镜面依旧折射拼凑出未来的宿命。

题目描述

一个圆的周长被 2n2n 个点等分,依次编号这些点为 12n1\sim 2n。现在需要在这 2n2n 个点之间连 nn 条线段,使这 nn 条线段不相交(包括端点)。定义两种连线方案不同当且仅当至少存在一条只出现在一种方案中的线段。

限制由有序三元组 (r,c,t)(r,c,t) 描述,其中 1r2n,0cn,t{0,1}1\le r\le 2n,0\le c\le n,t\in\{0,1\},表示若只保留线段两个端点编号小于等于 rr 的线段,则剩余线段恰有 cc 个,且与编号为 rr 的点连接的线段数为 tt不保证限制互不相同

现有 qq 组询问,所有询问总共给出 mm 个限制,其中第 ii 个询问会给出 mim_i 个限制,你需要输出满足 mim_i 个限制中任何一个的连线方案数,对 998,244,353998,244,353 取模。

输入格式

从标准输入读入数据。

第一行三个整数 n,q,mn,q,m,表示线段数,询问数和所有询问中限制数的总和。

接下来 qq 行,每行最开始一个整数为 mim_i,接下来给出 3mi3m_i 个整数,依次描述本次询问中的 mim_i 个限制 (r,c,t)(r,c,t)

输出格式

输出到标准输出。

输出 qq 行,每行一个整数表示该次询问的答案。

样例1输入

3 1 1
1 2 1 1

样例1输出

3

样例1解释

不考虑限制,连线方案总共有 55 种:

  • {1,6},{2,5},{3,4}\{1,6\},\{2,5\},\{3,4\}
  • {1,4},{2,3},{5,6}\{1,4\},\{2,3\},\{5,6\}
  • {1,6},{2,3},{4,5}\{1,6\},\{2,3\},\{4,5\}
  • {1,2},{3,4},{5,6}\{1,2\},\{3,4\},\{5,6\}
  • {1,2},{3,6},{4,5}\{1,2\},\{3,6\},\{4,5\}

其中最后两种方案均满足询问给出的限制,不符合题意,故答案为 33

样例 2

mirror2.inmirror2.ans

该组样例满足测试点 1,21,2 的限制。

样例 3

mirror3.inmirror3.ans

该组样例满足测试点 101410 \sim 14 的限制。

样例 4

mirror4.inmirror4.ans

该组样例满足测试点 202520 \sim 25 的限制。

数据范围

对于所有测试数据,满足 $1\le n\le 10^{3},1\le q\le 10^{4},0\le m\le 3 \times 10^{5}$。

测试点编号$n\le$$q\le$$m\le$特殊性质
$1,2$$8$$10$$10^{2}$
$3 \sim 6$$10^{3}$$10^{4}$$0$
$7 \sim 9$$10^{5}$A
$10 \sim 14$$300$$10^{2}$$6,000$
$15 \sim 19$$10^{3}$$10^{4}$$10^{5}$
$20 \sim 25$$3 \times 10^{5}$

特殊性质 A:保证 maxi=1qmi10\max_{i=1}^q m_i\le 10