#include typedef long long ll; using namespace std; int INF = 1e9; int MOD = 1e9+7; int p[1010][110]; main(){ int N,M,K,A[1000],B[1000],C[1000],D[1000]; cin >> N >> M >> K; for(int i = 0;i < M;i++)cin >> A[i] >> B[i] >> C[i]; for(int i = 0;i < K;i++)cin >> D[i]; for(int i = 0;i < M;i++){ if(D[0] == C[i]){ p[0][A[i]] = 1; p[0][B[i]] = 1; } } for(int i = 1;i < K;i++){ for(int j = 0;j < M;j++){ if(D[i] == C[j]){ if(p[i-1][A[j]])p[i][B[j]] = 1; if(p[i-1][B[j]])p[i][A[j]] = 1; } } } cout << accumulate(p[K-1],p[K-1]+101,0) << endl; for(int i = 1;i <= 100;i++)if(p[K-1][i])printf("%d ",i); cout << endl; }