#include<bits/stdc++.h>
using namespace std;
vector<int> ke[1001];
int m , n;
int parent[1001];
bool visited[1001];
int kt = 0;
void DFS(int u) {
visited[u] = true;
for (int x : ke[u]) {
if (!visited[x]) {
cout << x << " ";
parent[x] = u;
DFS(x);
kt = x; // C?p nh?t bi?n kt m?i khi tìm th?y m?t d?nh chua du?c tham
}
}
}
void BFS(int u){
queue<int> q;
q.push(u);
visited[u] = true;
while(!q.empty()){
int x = q.front(); q.pop();
for(int y : ke[x]){
if(!visited[y]){
cout << y << " ";
q.push(y);
visited[y] = true;
}
}
}
}
int main(){
cin >> m >> n ;
int s;
cin >> s;
for(int i = 1 ; i <= n ; i++){
int x,y;
cin >> x >> y;
ke[x].push_back(y);
}
for(int i = 1 ; i <= n ; i++){
sort(ke[i].begin(),ke[i].end());
}
cout << s << " ";
BFS(s);
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKdmVjdG9yPGludD4ga2VbMTAwMV07CmludCBtICwgbjsgCmludCBwYXJlbnRbMTAwMV07CmJvb2wgdmlzaXRlZFsxMDAxXTsKaW50IGt0ID0gMDsKdm9pZCBERlMoaW50IHUpIHsKICAgIHZpc2l0ZWRbdV0gPSB0cnVlOwogICAgZm9yIChpbnQgeCA6IGtlW3VdKSB7CiAgICAgICAgaWYgKCF2aXNpdGVkW3hdKSB7CiAgICAgICAgCWNvdXQgPDwgeCA8PCAiICI7CiAgICAgICAgICAgIHBhcmVudFt4XSA9IHU7CiAgICAgICAgICAgIERGUyh4KTsKICAgICAgICAgICAga3QgPSB4OyAvLyBDP3Agbmg/dCBiaT9uIGt0IG0/aSBraGkgdMOsbSB0aD95IG0/dCBkP25oIGNodWEgZHU/YyB0aGFtCiAgICAgICAgfQogICAgfQp9CnZvaWQgQkZTKGludCB1KXsKCXF1ZXVlPGludD4gcTsKCXEucHVzaCh1KTsKCXZpc2l0ZWRbdV0gPSB0cnVlOwoJd2hpbGUoIXEuZW1wdHkoKSl7CgkJaW50IHggPSBxLmZyb250KCk7IHEucG9wKCk7CgkJZm9yKGludCB5IDoga2VbeF0pewoJCQlpZighdmlzaXRlZFt5XSl7CgkJCQljb3V0IDw8IHkgPDwgIiAiOwoJCQkJcS5wdXNoKHkpOwoJCQkJdmlzaXRlZFt5XSA9IHRydWU7CgkJCX0KCQl9Cgl9Cn0KCmludCBtYWluKCl7CgljaW4gPj4gbSA+PiBuIDsKCWludCBzOyAKCWNpbiA+PiBzOyAKCWZvcihpbnQgaSA9IDEgOyBpIDw9IG4gOyBpKyspewoJCWludCB4LHk7IAoJCWNpbiA+PiB4ID4+IHk7CgkJa2VbeF0ucHVzaF9iYWNrKHkpOwoJfQoJZm9yKGludCBpID0gMSA7IGkgPD0gbiA7IGkrKyl7CgkJc29ydChrZVtpXS5iZWdpbigpLGtlW2ldLmVuZCgpKTsKCX0KCWNvdXQgPDwgcyA8PCAiICI7CglCRlMocyk7CgkKfQ==