#include #include #include using namespace atcoder; using mint = modint998244353; using namespace std; #define rep(i,n) for (int i = 0; i < (n); ++i) #define Inf 1000000000 int main(){ int N,M,K; cin>>N>>M>>K; vector>> E(N); rep(i,M){ int a,b,c; cin>>a>>b>>c; a--;b--; E[a].emplace_back(b,c); E[b].emplace_back(a,c); } vector dp(N,true); rep(i,K){ int d; cin>>d; vector ndp(N,false); rep(j,N){ if(dp[j]==false)continue; rep(k,E[j].size()){ if(E[j][k].second==d){ ndp[E[j][k].first] = true; } } } swap(dp,ndp); } vector ans; rep(i,N){ if(dp[i])ans.push_back(i+1); } cout<