#import using namespace std; long n,m,h[1<<17],i,u,v,x[1<<17],k=-1,z,I[2],p[1<<18],t,l,d=1<<17; vectorG[1<<17]; main(){ cin>>n>>m; for(i=0;i>h[i]; x[i]=h[i]*d+i; } for(;cin>>u>>v;){ u--;v--; G[u].push_back(v); G[v].push_back(u); } sort(x,x+n); p[0]=p[d+n-1]=1; for(int i:x) for(int j:G[i%d]) if(h[j]0){ k=l; z=i; } } cout<D{z}; I[0]=I[1]=z; I[1]+=d; for(;p[I[0]]+p[I[1]]>2;) for(t=0;t<2;t++) if(p[I[t]]-1) for(int o:G[I[t]%d]) if(p[t*d+o]+1==p[I[t]]){ if(t) D.push_front(o); else D.push_back(o); I[t]=o+t*d; break; } for(;k-->0;) cout<