#include using namespace std; const long long MOD = 998244353; int main(){ int N, M; cin >> N >> M; vector l(M); vector> a(M); for (int i = 0; i < M; i++){ cin >> l[i]; a[i] = vector(l[i]); for (int j = 0; j < l[i]; j++){ cin >> a[i][j]; a[i][j]--; } } vector> S(N, vector(M, false)); for (int i = 0; i < M; i++){ for (int j = 0; j < l[i]; j++){ S[a[i][j]][i] = true; } } sort(S.begin(), S.end()); S.erase(unique(S.begin(), S.end()), S.end()); int cnt = S.size(); long long ans = 1; for (int i = 0; i < cnt; i++){ ans *= 2; ans %= MOD; } cout << ans << endl; }