import sys sys.setrecursionlimit(10**6) n,m,k=map(int,input().split()) road=[[] for i in range(n+1)] ans=set() for i in range(m): a,b,c=map(int,input().split()) road[b].append([c,a]) road[a].append([c,b]) rireki=list(map(int,input().split())) def cal(x,now): if now == k: ans.add(x) return for i in road[x]: if i[0] == rireki[now]: cal(i[1],now+1) for i in road: for j in i: if j[0] == rireki[0]: cal(j[1],1) print(len(ans)) print(*sorted(list(ans)))