#import using namespace std; int n,m,h[1<<17],i,u,v,idx[1<<17],k=-1,ind,ii[2],dp[2][1<<17],t,l; vectorG[1<<17]; main(){ cin>>n>>m; for(i=0;i>h[i]; for(;cin>>u>>v;){ u--;v--; G[u].push_back(v); G[v].push_back(u); } iota(idx,idx+n,0); sort(idx,idx+n,[&](int i,int j){return h[i]0){ k=l; ind=i; } } cout<DQ{ind}; ii[0]=ii[1]=ind; for(;dp[0][ii[0]]+dp[1][ii[1]]>2;) for(t=0;t<2;t++) if(dp[t][ii[t]]-1) for(int to:G[ii[t]]) if(dp[t][to]+1==dp[t][ii[t]]){ if(t) DQ.push_front(to); else DQ.push_back(to); ii[t]=to; break; } for(;k-->0;) cout<