#HJ1032. 幻兽帕鲁(king)

幻兽帕鲁(king)

题目描述

作为帕鲁王国的国王,Nathanwong 深知直升机飞行控制系统的重要性。因此,发展帕鲁王国的计算机产业刻不容缓。遗憾的是,帕鲁尚未掌握微电子的制造工艺,Nathanwong 只好调动 nn 只帕鲁模拟计算机电路。这些帕鲁被依次编号为 1,2,,n1,2,\dots, n

具体来说,每一只帕鲁将在该电路中,扮演逻辑门和输入引脚的功能:

  • 与门。扮演与门的帕鲁,将从 一些 帕鲁那里接受运算结果,并将它所接受的全部数据进行逻辑与运算后,作为运算结果传递出去。
  • 或门。扮演或门的帕鲁,将从 一些 帕鲁那里接受运算结果,并将它所接受的全部数据进行逻辑或运算后,作为运算结果传递出去。
  • 非门。扮演非门的帕鲁,将从 一个 帕鲁那里接受运算结果,并将它接受的唯一数据进行逻辑非运算后,作为运算结果传递出去。
  • 输入引脚。扮演输入引脚的帕鲁,将直接从Nathanwong 处接受数据,并直接作为运算结果传递出去。

每一只帕鲁,只能进行布尔运算。也就是说,它们只会处理数据 0011。扮演输入引脚的帕鲁,从Nathanwong 处也只会接受到数据 0011。Nathanwong 深知帕鲁王国等级森严,因此,编号为 ii 的帕鲁,若扮演的是逻辑门,只会从编号大于 ii 的帕鲁处接受数据。编号为 11 的帕鲁一定扮演逻辑门,其运算结果直接报告至 Nathanwong。

Nathanwong 想要知道,存在多少种不同的输入方式,使得 11 号帕鲁报告的运算结果为 kk?两种输入方式不同,当且仅当有一只或以上扮演输入引脚的帕鲁,从Nathanwong 处接受的输入数据不同。

由于答案可能很大,你只需要输出答案对 998,244,353998,244,353 取模的结果。

输入格式

从文件 king.in 中读入数据。

第一行为两个整数 n,kn,k

接下来 nn 行,第 ii 行描述第 ii 个帕鲁。

每行先输入一个字符串 rir_iandornotinput 依次表示第 ii 个帕鲁扮演与门、或门、非门、输入引脚。

若第 ii 个帕鲁扮演逻辑门,则再输入一个整数 xix_i,表示该帕鲁共从 xix_i 个帕鲁处接受数据。接下来 xix_i 个整数,每个整数为一个帕鲁的编号。保证当第 ii 个帕鲁扮演的是非门时,xi=1x_i = 1

若第 ii 个帕鲁扮演输入引脚,则该行无其他输入。

输出格式

输出到文件 king.out 中。

输出一行一个整数,表示答案对 998,244,353998,244,353 取模的结果。

7 0
or 2 2 3
and 2 6 7
and 2 4 5
input
input
input
input
9

样例 11 解释

image

上图是帕鲁模拟的数字电路图。

见下方附加文件压缩包内 king/king2.in
见下方附加文件压缩包内 king/king2.out

样例 22 解释

样例 22 满足 测试点 141614 \sim 16 的限制。

见下方附加文件压缩包内 king/king3.in
见下方附加文件压缩包内 king/king3.out

样例 33 解释

样例 33 满足 测试点 171917 \sim 19 的限制。

见下方附加文件压缩包内 king/king4.in
见下方附加文件压缩包内 king/king4.out

数据范围

对于 100%100\% 的测试数据,保证 1n1051 \leq n \leq 10^5k{0,1}k \in \{0, 1\},字符串 rir_iandornotinput 中的一个。保证扮演逻辑门的帕鲁只会从编号大于自己的帕鲁处接受数据。保证除 11 号帕鲁外,每一只帕鲁向且仅向一只帕鲁传递运算结果。

测试点编号 n=n = 特殊性质
171 \sim 7 1212
8138 \sim 13 50005000
141614 \sim 16 10510^5 A\text{A}
171917 \sim 19 B\text{B}
202520 \sim 25

特殊性质 A\text{A} : 没有扮演与门的帕鲁。

特殊性质 B\text{B} : 没有扮演或门的帕鲁。

附加文件

king