#include<bits/stdc++.h>
using namespace std;
vector<int>adj_list[100];
int visited[100];
int dis[100];
int par[100];
int zaoa_zay=0;
int BFS(int start,int dest)
{
visited[start]=1;
dis[start]=0;
par[start]=-1;
queue<int>q;
q.push(start);
while(!q.empty())
{
int currnode=q.front();
cout<<"*"<<currnode<<endl;
q.pop();
for(int i=0;i<adj_list[currnode][i];i++)
{
int child=adj_list[currnode][i];
if(visited[child]==0)
{
q.push(child);
visited[child]=1;
dis[child]=dis[currnode]+1;
par[child]=currnode;
if(child==dest)
{
return dis[child];
}
}
}
}
return -1;
}
int main()
{
int node,edge;
cin>>node>>edge;
for(int i=1;i<=edge;i++)
{
int u,v;
cin>>u>>v;
adj_list[u].push_back(v);
}
int start,dest;
cin>>start>>dest;
int min_dist=BFS(start,dest);
if(min_dist=-1)
{
cout<<"connected,Distence:"<<min_dist<<endl;
stack<int>st;
int currnode= dest;
while(currnode!=-1)
{
st.push(currnode);
currnode=par[currnode];
}
while(!st.empty())
{
cout<<st.top()<<endl;
st.pop();
}
}
else
{
cout<<"disconnected"<<endl;
}
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKdmVjdG9yPGludD5hZGpfbGlzdFsxMDBdOwppbnQgdmlzaXRlZFsxMDBdOwppbnQgZGlzWzEwMF07CmludCBwYXJbMTAwXTsKaW50IHphb2FfemF5PTA7CmludCBCRlMoaW50IHN0YXJ0LGludCBkZXN0KQp7CnZpc2l0ZWRbc3RhcnRdPTE7CmRpc1tzdGFydF09MDsKcGFyW3N0YXJ0XT0tMTsKcXVldWU8aW50PnE7CnEucHVzaChzdGFydCk7CndoaWxlKCFxLmVtcHR5KCkpCnsKaW50IGN1cnJub2RlPXEuZnJvbnQoKTsKY291dDw8IioiPDxjdXJybm9kZTw8ZW5kbDsKcS5wb3AoKTsKZm9yKGludCBpPTA7aTxhZGpfbGlzdFtjdXJybm9kZV1baV07aSsrKQp7CmludCBjaGlsZD1hZGpfbGlzdFtjdXJybm9kZV1baV07CmlmKHZpc2l0ZWRbY2hpbGRdPT0wKQp7CnEucHVzaChjaGlsZCk7CnZpc2l0ZWRbY2hpbGRdPTE7CmRpc1tjaGlsZF09ZGlzW2N1cnJub2RlXSsxOwpwYXJbY2hpbGRdPWN1cnJub2RlOwppZihjaGlsZD09ZGVzdCkKewpyZXR1cm4gZGlzW2NoaWxkXTsKfQp9Cn0KfQpyZXR1cm4gLTE7Cn0KaW50IG1haW4oKQp7CmludCBub2RlLGVkZ2U7CmNpbj4+bm9kZT4+ZWRnZTsKZm9yKGludCBpPTE7aTw9ZWRnZTtpKyspCnsKaW50IHUsdjsKY2luPj51Pj52OwphZGpfbGlzdFt1XS5wdXNoX2JhY2sodik7Cn0KaW50IHN0YXJ0LGRlc3Q7CmNpbj4+c3RhcnQ+PmRlc3Q7CmludCBtaW5fZGlzdD1CRlMoc3RhcnQsZGVzdCk7CmlmKG1pbl9kaXN0PS0xKQp7CmNvdXQ8PCJjb25uZWN0ZWQsRGlzdGVuY2U6Ijw8bWluX2Rpc3Q8PGVuZGw7CnN0YWNrPGludD5zdDsKaW50IGN1cnJub2RlPSBkZXN0Owp3aGlsZShjdXJybm9kZSE9LTEpCnsKc3QucHVzaChjdXJybm9kZSk7CmN1cnJub2RlPXBhcltjdXJybm9kZV07Cn0Kd2hpbGUoIXN0LmVtcHR5KCkpCnsKY291dDw8c3QudG9wKCk8PGVuZGw7CnN0LnBvcCgpOwp9Cn0KZWxzZQp7CmNvdXQ8PCJkaXNjb25uZWN0ZWQiPDxlbmRsOwp9Cn0=