N, M, K = map(int, input().split()) adj = [[] for i in range(N)] for i in range(M): a, b, c = map(int, input().split()) a -= 1 b -= 1 adj[a].append((b, c)) adj[b].append((a, c)) D = list(map(int, input().split()))[::-1] ans = [] for end in range(N): prev = set([end]) for i in range(K): nex = set() for p in prev: for nv, c in adj[p]: if c == D[i]: nex.add(nv) prev = nex if len(prev) > 0: ans.append(end + 1) print(len(ans)) print(*ans)