N = gets.to_i V = [] N.times do k, *c = gets.split.map(&:to_i) v = 0 c.each do |i| v += 1 << (i - 1) end V << v end MOD = 998_244_353 L = 1 << 12 dp = Array.new(L, 0) dp[L - 1] = 1 V.each do |v| temp = dp.dup L.times do |i| nv = i & v temp[nv] += dp[i] temp[nv] %= MOD end dp = temp end puts dp[0]