template originalSource() = # {.checks: off.} include cplib/tmpl/citrus import cplib/modint/modint import cplib/math/primefactor import cplib/collections/defaultdict type mint = modint998244353_barrett var n, k = input(int) var a = newSeqWith(n, input(int)) var d = initDefaultDict[int, seq[int]](newSeq[int]()) for x in a: for (p, c) in x.primefactor_tuple: d[p].add(c) var ans = mint(1) for p in d.keys: var pos = n div k - 1 - (n-d[p].len) debug(p, d[p], pos) if pos notin 0..= z.len: break\x0A if (f and (1 shl b)) == 0:\x0A s.add(z[i])\x0A inc i\x0A else:\x0A let d = ord(z[i])*256+ord(z[i+1])\x0A let n = ord(z[i+2])+3\x0A i += 3\x0A for j in 0..