#include #include using namespace std; using namespace atcoder; #define ll long long #define rep(i,a,b) for(int i=(a);i<(b);i++) #define repl(i,a,b) for(ll i=(a);i<(b);i++) #define all(a) (a).begin(),(a).end() #define rall(a) (a).rbegin(),(a).rend() template bool chmin(T &a,T b){if(a>b){a=b;return true;} return false;} template bool chmax(T &a,T b){if(a> n >> k; using mint=modint998244353; vector> num(n); rep(i,0,k){ int l,s; cin >> l >> s; rep(j,0,l){ int b; cin >> b; b--; num[b].push_back(s); } } mint ans=0; rep(i,0,n){ rep(bit,0,31){ int cnt=0; for(auto x:num[i]){ if((x>>bit)&1){ cnt++; } } if(cnt) ans+=mint(2).pow(k-cnt)*mint(2).pow(cnt-1)*(1<> T; while(T--) solve(); }