from collections import * import sys sys.setrecursionlimit(10 ** 6) int1 = lambda x: int(x) - 1 p2D = lambda x: print(*x, sep="\n") def MI(): return map(int, sys.stdin.readline().split()) def MF(): return map(float, sys.stdin.readline().split()) def LI(): return list(map(int, sys.stdin.readline().split())) def LF(): return list(map(float, sys.stdin.readline().split())) def LLI(rows_number): return [LI() for _ in range(rows_number)] def main(): n,m,k=MI() ctoe=defaultdict(list) for _ in range(m): a,b,c=MI() ctoe[c].append([a,b]) cc=LI() now=set() for a,b in ctoe[cc[0]]: now.add(a) now.add(b) for c in cc[1:]: nxt=set() for a,b in ctoe[c]: if a in now:nxt.add(b) if b in now:nxt.add(a) now=nxt print(len(now)) now=list(now) now.sort() print(*now) main()