# -*- coding: utf-8 -*- """ No.92 逃走経路 https://yukicoder.me/problems/no/92 """ import sys from sys import stdin input = stdin.readline def solve(N, cities, logs): possibilities = set([x for x in range(1, N+1)]) for l in logs: np = set() for p in possibilities: for dest, cost in cities[p]: if cost == l: np.add(dest) possibilities = np ans = list(possibilities) ans.sort() return ans def main(args): N, M, K = map(int, input().split()) cities = [[] for _ in range(N+1)] for _ in range(M): a, b , c = map(int, input().split()) cities[a].append([b, c]) cities[b].append([a, c]) logs = [int(x) for x in input().split()] ans = solve(N, cities, logs) print(len(ans)) print(*ans) if __name__ == '__main__': main(sys.argv[1:])