有一个n×m的网格,你想在上面放置若干个多米诺骨牌,每个骨牌会占据网格上相邻的两个格子。 定义一个网格是优美的当且仅当网格中的每一行和每一列最多只被一个骨牌占据。也就是说,每一行/列要么只有最多一个格子被骨牌占据,要么恰好有两个格子被同一个骨牌占据。 一开始,这个网格上有k个骨牌,保证网格初始是优美的。 求再放置任意个骨牌,能得到的优美的网格的方案数,对998244353取模。注意骨牌是无标号的,即两个网格不同,当且仅当骨牌放置的数量或骨牌放置的位置不同。
从文件grid.in中读入数据。 第一行输入三个整数。 接下来行,第行输入四个整数。表示第i块骨牌占据与这两个格子,保证这两个格子相邻。
输出到文件grid.out中。 输出一个整数表示答案。
输入: 4 5 1 2 1 2 2
输出: 12
对于20%的数据,。 对于30%的数据,。 对于40%的数据,。 对于另外20%的数据,。 对于另外20%的数据,。 对于100%的数据,。