local band = bit.band local bls, brs = bit.lshift, bit.rshift local mod = 998244353 local function badd(x, y) return (x + y) % mod end local n = io.read("*n") local lim = 8192 local pre, suf = {}, {} local vs = {} for i = 1, n do local v = 0 local k = io.read("*n") for j = 1, k do local c = io.read("*n") v = v + bls(1, c) end vs[i] = v end for i = 1, n do pre[i] = {} local v = vs[i] if i == 1 then for j = 1, lim do pre[i][j] = 0 end pre[i][v + 1] = 1 else for j = 1, lim do pre[i][j] = pre[i - 1][j] end for j = 1, lim do local dst = band(j - 1, v) pre[i][dst + 1] = badd(pre[i][dst + 1], pre[i - 1][j]) end pre[i][v + 1] = badd(pre[i][v + 1], 1) end end print(pre[n][1])