import sequtils,algorithm,strutils,intsets,tables template times*(n:int,body) = (for _ in 0.." .} proc scan(): int = while true: let k = getchar_unlocked() if k < '0': break result = 10 * result + k.ord - '0'.ord let n = scan() let m = scan() let k = scan() let ABC = newSeqWith(m,(a:scan(),b:scan(),c:scan())) var oks = initIntSet() for i in 1..n: oks.incl i k.times: var nexts = initIntSet() let d = scan() for abc in ABC: if abc.c != d: continue if abc.a in oks: nexts.incl abc.b if abc.b in oks: nexts.incl abc.a oks = nexts echo oks.card echo toSeq(oks.items).sorted(cmp).mapIt($it).join(" ")