seuOJ296 - 公主连结

题目描述

众所周知,公主连结是一款非常好玩的抽卡游戏,里面有 nn 种不同的公主,公主可以通过抽卡有概率得到。

然而,小雅米在最近一个新卡池抽卡翻车了,所以她决定出这个题来安慰一下自己。

一次官方活动中,官方推出了 mm 种不同的活动卡,不同于一般的抽卡,每一种卡连结了很多个公主,每种活动卡打开有中奖或者不中奖两种情况。玩家一次性需要打开所有 mm 种卡,当某个公主被至少一种中奖的活动卡连结的时候玩家便可以获得这个公主。

小雅米在抽卡前想计算一个奇怪的问题,对于活动卡抽卡总共 2m2^m 种的结局,每种结局能得到的公主数的三次方的和除 998244353998244353 后的余数是多少。

输入格式

第一行输入两个整数 n,m(1n,m50)n, m(1 \leq n, m \leq 50),表示有 nn 个不同的公主和 mm 种不同的活动卡。

接下来 mm 行,每行先输入一个数 k(1kn)k(1 \leq k \leq n),表示这张活动卡会连结 kk 个公主,紧接着输入 kk 个不同的整数 x(1xn)x(1 \leq x \leq n),表示这张卡连结的公主编号。

输出格式

输出一行一个整数表示每种抽卡结局能得到公主数目的三次方的总和除 998244353998244353 后的余数。

样例

样例输入

5 2
2 1 2
1 2

样例输出

17