#include <bits/stdc++.h>
using namespace std;
void dfs(int node,vector<int>g[],vector<int>&v){
cout<<node<<"\n";
v[node]=1;
for(auto &it:g[node]){
if(v[it]==0){
dfs(it,g,v);
}
}
}
int main() {
int n,e;
cin>>n>>e;
vector<int>g[n+1];
for(int i=1;i<=e;i++){
int x,y;
cin>>x>>y;
g[x].push_back(y);
g[y].push_back(x);
}
int s;
cin>>s;
stack<int>st;
vector<int>v(n+1,0);
dfs(s,g,v);
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7Cgp2b2lkIGRmcyhpbnQgbm9kZSx2ZWN0b3I8aW50PmdbXSx2ZWN0b3I8aW50PiZ2KXsKCWNvdXQ8PG5vZGU8PCJcbiI7Cgl2W25vZGVdPTE7Cglmb3IoYXV0byAmaXQ6Z1tub2RlXSl7CgkJaWYodltpdF09PTApewoJCQlkZnMoaXQsZyx2KTsKCQl9Cgl9Cn0KCmludCBtYWluKCkgewoJaW50IG4sZTsKCWNpbj4+bj4+ZTsKCXZlY3RvcjxpbnQ+Z1tuKzFdOwoJZm9yKGludCBpPTE7aTw9ZTtpKyspewoJCWludCB4LHk7CgkJY2luPj54Pj55OwoJCWdbeF0ucHVzaF9iYWNrKHkpOwoJCWdbeV0ucHVzaF9iYWNrKHgpOwoJfQoJaW50IHM7CgljaW4+PnM7CglzdGFjazxpbnQ+c3Q7Cgl2ZWN0b3I8aW50PnYobisxLDApOwoJZGZzKHMsZyx2KTsKCXJldHVybiAwOwp9