#include using namespace std; typedef long long ll; #define rep(i,n) for(i=0;i>n >>m >>k; //コスト、行き先で保存 vector< pair > v[101]; rep(i,m){ int a,b,c; cin >>a >>b >>c; v[a].pb(mp(c,b)); v[b].pb(mp(c,a)); } vector d(k); rep(i,k) cin >>d[i]; //現段階で居場所としてありえる場所 bool valid[101]; rep(i,n+1) valid[i]=true; rep(i,k){ bool tmp[101]; rep(j,n+1) tmp[j]=false; //d[i]にコストが一致する道があるかそれぞれ探す for(j=1; j<=n; ++j){ if(!valid[j]) continue; for(x=0; x ans; for(i=1; i<=n; ++i){ if(valid[i]) ans.pb(i); } printf("%d\n", ans.size()); rep(i,ans.size()){ if(i) printf(" "); printf("%d", ans[i]); } printf("\n"); return 0; }