#include #include #include #include #include using namespace std; typedef long long ll; vector g[1000005]; ll dis[1000005]; ll disMe[1000005]; ll route[1000005]; int main() { ios_base::sync_with_stdio(0); freopen("escape.in","r",stdin); freopen("escape.out","w",stdout); int t; cin>>t; while(t--) { ll n,m,a,b,georgiStart; cin>>n>>m>>a>>b>>georgiStart; for(int i=0;i<=n;i++) { g[i].clear(); dis[i]=-1; disMe[i]=-1; route[i]=-1; } while(m--) { ll u,v; cin>>u>>v; g[u].push_back(v); g[v].push_back(u); } ll k; cin>>k; vector exits; while(k--) { ll in; cin>>in; exits.push_back(in); } if(exits.empty()) { cout<<"-1\n"; continue; } dis[exits[0]]=0; queue q; q.push(exits[0]); while(!q.empty()) { ll u=q.front(); q.pop(); for(int i=0;i vec; vec.push_back(ans); ll curr=route[ans]; while(curr!=-1) { vec.push_back(curr); curr=route[curr]; } cout<=0;i--) cout<