#include <bits/stdc++.h>
using namespace std;
void DFS(int node, vector<vector<int>>& g, vector<int>& visited){
cout << node << '\n';
visited[node] = 1;
for (auto &i : g[node]){
if(visited[i] == 0){
DFS(i, g, visited);
}
}
}
int main() {
int n,e;
cin >> n >> e;
vector<vector<int>> g(n+5);
for (int i = 0; i < e; i++){
int a, b;
cin >> a >> b;
g[a].push_back(b);
g[b].push_back(a);
}
int source; cin >> source;
vector<int> visited(n+5, 0);
DFS(source, g, visited);
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7Cgp2b2lkIERGUyhpbnQgbm9kZSwgdmVjdG9yPHZlY3RvcjxpbnQ+PiYgZywgdmVjdG9yPGludD4mIHZpc2l0ZWQpewoJCgljb3V0IDw8IG5vZGUgPDwgJ1xuJzsKCXZpc2l0ZWRbbm9kZV0gPSAxOwoJCglmb3IgKGF1dG8gJmkgOiBnW25vZGVdKXsKCQlpZih2aXNpdGVkW2ldID09IDApewoJCQlERlMoaSwgZywgdmlzaXRlZCk7CgkJfQoJfQp9CgppbnQgbWFpbigpIHsKCQoJaW50IG4sZTsKCWNpbiA+PiBuID4+IGU7CgkKCXZlY3Rvcjx2ZWN0b3I8aW50Pj4gZyhuKzUpOwoJCglmb3IgKGludCBpID0gMDsgaSA8IGU7IGkrKyl7CgkJaW50IGEsIGI7CgkJY2luID4+IGEgPj4gYjsKCQlnW2FdLnB1c2hfYmFjayhiKTsKCQlnW2JdLnB1c2hfYmFjayhhKTsKCX0KCQoJaW50IHNvdXJjZTsgY2luID4+IHNvdXJjZTsKCQoJdmVjdG9yPGludD4gdmlzaXRlZChuKzUsIDApOwoJCglERlMoc291cmNlLCBnLCB2aXNpdGVkKTsKCQoJCgkKCXJldHVybiAwOwp9