from collections import * from itertools import * from heapq import * from functools import * import sys,math input = sys.stdin.readline N,M,K = map(int,input().split()) e = [[] for _ in range(N)] for _ in range(M): a,b,c = map(int,input().split()) a -= 1 b -= 1 e[a].append((b,c)) e[b].append((a,c)) D = list(map(int,input().split())) cnt = [[False]*(K+1) for _ in range(N)] for i in range(N): cnt[i][0]=True for i in range(K): d = D[i] for j in range(N): if cnt[j][i]: for ix,ic in e[j]: if ic==d: cnt[ix][i+1] = True ans = [] for i in range(N): if cnt[i][-1]: ans.append(i+1) print(len(ans)) print(*ans)