#P1065. 数数

数数

Description

小 Q 有 nn 台服务器。

现在他想运行一些程序,每个程序都需要在若干个特定的服务器上运行。小 Q 是追求高效率的人,他不允许有服务器处于闲置状态。然而,如果在一台服务器上同时运行两个程序,服务器就会爆掉。

因此,小 Q 找到了你,希望你能帮他挑出一个程序集合,使得没有服务器闲置或是爆掉。

你需要告诉小 Q 有多少种选择的方案,答案对 998244353998244353 取模。

Format

Input

第一行两个正整数 n,mn,m,表示服务器数目与程序数目。 接下来 mm 行,每行先输入一个数 cc,表示运行该程序所需的服务器台数。接下来 cc 个数,表示具体需要的服务器编号。保证编号互不相同。

Output

一行一个整数,表示答案。

Samples

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

Hints

在样例 1 中,有 {1,3},{2,3},{4}\{1,3\},\{2,3\},\{4\} 三种选择方案。

Limitation

对于 20%20\% 的数据,保证 n8,m20n \le 8,m \le 20

对于 50%50\% 的数据,保证 n8,m105n \le 8,m \le 10^5

对于 100%100\% 的数据,保证 n18,m105n \le 18,m \le 10^5

时空限制:4000ms/256MiB。