n,m,k=map(int,input().split()) l=[[]for _ in range(n+1)] for _ in range(m): a,b,c=map(int,input().split()) l[a].append([b,c]) l[b].append([a,c]) d=list(map(int,input().split())) dp=[[0]*(n+1)for _ in range(k+1)] dp[0]=[1]*(n+1) for i in range(k): for j in range(1,n+1): if not dp[i][j]:continue for t in l[j]: if t[1]==d[i]: dp[i+1][t[0]]=1 print(sum(dp[k])) print(*[i for i in range(n+1)if dp[k][i]])