#include using namespace std; #define rep(i,n) for(int i = 0; i < (n);i++) #define sz(x) int(x.size()) typedef long long ll; typedef pair P; bool dp[1010][110]; int main(){ int n,m,k; cin >> n >> m >> k; vector a(m),b(m),c(m); rep(i,m) cin >> a[i] >> b[i] >> c[i],--a[i],--b[i]; vector d(k); rep(i,k) cin >> d[i]; rep(j,n) dp[0][j] = true; rep(i,k) { rep(j,m) { if (d[i] == c[j]) { dp[i+1][a[j]] |= dp[i][b[j]]; dp[i+1][b[j]] |= dp[i][a[j]]; } } } int res = 0; rep(j,n) if (dp[k][j]) res++; cout << res << endl; rep(j,n) if (dp[k][j]) cout << j+1 << " "; cout << endl; return 0; }