# include using namespace std; const int nmax = 1000005; vector g[nmax]; int vis[nmax],ids=1; int dist[nmax][2]; void dijkstra(int v, bool fl,int k) { queue < int > q; vis[v] = ids; dist[v][fl] = 0; q.push(v); int d,i; while(!q.empty()) { v=q.front(); q.pop(); for(i=0;i st; int from[nmax]; bool dfs(int v) { int s = v; queue q; int i; vis[v]=ids; q.push(v); /*if(IS[v]==is){st.push(v);return true;} for(i=0;i>n>>m; for(i=1;i<=n;i++) g[i].clear(); int a,b,s; cin>>a>>b>>s; for(i=1;i<=m;i++) { int u,v; cin>>u>>v; g[u].push_back(v); g[v].push_back(u); } int k; is++; cin>>k; for(i=1;i<=k;i++) { cin>>P[i]; IS[P[i]]=is; } //cout<<"OK"<>t; while(t--) { solve(); } }