N, M, K = map(int, input().split()) A = [0] * M B = [0] * M C = [0] * M dp = [[0 for _ in range(1010)] for _ in range(110)] for i in range(M): a, b, c = map(int, input().split()) A[i] = a B[i] = b C[i] = c D = list(map(int, input().split())) for i in range(M): if D[0] == C[i]: dp[0][A[i]] = 1 dp[0][B[i]] = 1 for i in range(1, K): for j in range(M): if D[i] == C[j]: if dp[i - 1][A[j]]: dp[i][B[j]] = 1 if dp[i - 1][B[j]]: dp[i][A[j]] = 1 t = 0 for i in range(101): t += sum(dp[K - 1 + i]) print(t) pos = [] for i in range(101): if dp[K - 1][i]: pos.append(str(i)) print(" ".join(pos))