#include <vector>
#include <iostream>
using namespace std;
int cnt; // одоо явж байгаа замын урт
int n, m; // орой болон ирмэгийн тоо
int x, y; // хүсэлтийн 2 орой
int s[20]; // явсан замыг хамдгалах массив
bool vis[20]; // замд орсон ороогүйг хадгалах массив
vector<int> adj[20]; // графын мэдээллийг хадгалах вектор
void dfs(int u) {
if( u == y ) {
// одоо ирсэн орой нь бидний очих ёстой оройтой ижил бол
// бид нэг зам олж чадсан тул үүнийгээ хэвлэнэ
for(int i = 1; i <= cnt; i++) cout << s[i] << " ";
cout << y << endl; // сүүлийн оройг хэвлэнэ
// учир нь бид нэмээгүй байгаа
return;
}
// одоо бид u гэсэн орой дээр ирж байгаа тул
vis[u] = true; // замд орсон гэж тэмдэглэнэ
cnt++; // замын урт нэгээр нэмэгдэнэ
s[cnt] = u; // cnt-р орой гэдэг бол u гэсэн орой байх юм.
for(int v:adj[u]) {
if( !vis[v] ) {
// v гэсэн орой нь энэ замд ордоггүй бол энэ оройгоос
// цааш явж болох зам байгаа
dfs(v);
}
}
vis[u] = 0; // энэ оройг ирээгүй болгож тэмдэглэнэ
cnt--; // замын урт хасагдана
}
int main() {
cin >> n >> m;
while( m-- ) {
int u, v; // u, v 2 орой хоорондоо шууд ирмэгээр
// холбогддог гэсэн үг
cin >> u >> v;
adj[u].push_back( v );
adj[v].push_back( u );
}
cin >> x >> y;
dfs( x );
return 0;
}
I2luY2x1ZGUgPHZlY3Rvcj4KI2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoJCglpbnQgY250OwkvLyDQvtC00L7QviDRj9Cy0LYg0LHQsNC50LPQsNCwINC30LDQvNGL0L0g0YPRgNGCCglpbnQgbiwgbTsJLy8g0L7RgNC+0Lkg0LHQvtC70L7QvSDQuNGA0LzRjdCz0LjQudC9INGC0L7QvgoJaW50IHgsIHk7CS8vINGF0q/RgdGN0LvRgtC40LnQvSAyINC+0YDQvtC5CglpbnQgc1syMF07CS8vINGP0LLRgdCw0L0g0LfQsNC80YvQsyDRhdCw0LzQtNCz0LDQu9Cw0YUg0LzQsNGB0YHQuNCyCglib29sIHZpc1syMF07CS8vINC30LDQvNC0INC+0YDRgdC+0L0g0L7RgNC+0L7Qs9Kv0LnQsyDRhdCw0LTQs9Cw0LvQsNGFINC80LDRgdGB0LjQsgoJdmVjdG9yPGludD4gYWRqWzIwXTsJLy8g0LPRgNCw0YTRi9C9INC80Y3QtNGN0Y3Qu9C70LjQudCzINGF0LDQtNCz0LDQu9Cw0YUg0LLQtdC60YLQvtGACgp2b2lkIGRmcyhpbnQgdSkgewoJaWYoIHUgPT0geSApIHsKCQkvLyDQvtC00L7QviDQuNGA0YHRjdC9INC+0YDQvtC5INC90Ywg0LHQuNC00L3QuNC5INC+0YfQuNGFINGR0YHRgtC+0Lkg0L7RgNC+0LnRgtC+0Lkg0LjQttC40Lsg0LHQvtC7CgkJLy8g0LHQuNC0INC90Y3QsyDQt9Cw0Lwg0L7Qu9C2INGH0LDQtNGB0LDQvSDRgtGD0Lsg0q/Sr9C90LjQudCz0Y3RjSDRhdGN0LLQu9GN0L3RjQoJCWZvcihpbnQgaSA9IDE7IGkgPD0gY250OyBpKyspIGNvdXQgPDwgc1tpXSA8PCAiICI7CgkJY291dCA8PCB5IDw8IGVuZGw7CS8vINGB0q/Sr9C70LjQudC9INC+0YDQvtC50LMg0YXRjdCy0LvRjdC90Y0KCQkJCQkJCS8vINGD0YfQuNGAINC90Ywg0LHQuNC0INC90Y3QvNGN0Y3Qs9Kv0Lkg0LHQsNC50LPQsNCwCgkJcmV0dXJuOwoJfQoKCS8vINC+0LTQvtC+INCx0LjQtCB1INCz0Y3RgdGN0L0g0L7RgNC+0Lkg0LTRjdGN0YAg0LjRgNC2INCx0LDQudCz0LDQsCDRgtGD0LsKCXZpc1t1XSA9IHRydWU7CS8vINC30LDQvNC0INC+0YDRgdC+0L0g0LPRjdC2INGC0Y3QvNC00Y3Qs9C70Y3QvdGNCgljbnQrKzsJLy8g0LfQsNC80YvQvSDRg9GA0YIg0L3RjdCz0Y3RjdGAINC90Y3QvNGN0LPQtNGN0L3RjQoJc1tjbnRdID0gdTsJLy8gY250LdGAINC+0YDQvtC5INCz0Y3QtNGN0LMg0LHQvtC7IHUg0LPRjdGB0Y3QvSDQvtGA0L7QuSDQsdCw0LnRhSDRjtC8LgoKCWZvcihpbnQgdjphZGpbdV0pIHsKCQlpZiggIXZpc1t2XSApIHsKCQkJLy8gdiDQs9GN0YHRjdC9INC+0YDQvtC5INC90Ywg0Y3QvdGNINC30LDQvNC0INC+0YDQtNC+0LPQs9Kv0Lkg0LHQvtC7INGN0L3RjSDQvtGA0L7QudCz0L7QvtGBCgkJCS8vINGG0LDQsNGIINGP0LLQtiDQsdC+0LvQvtGFINC30LDQvCDQsdCw0LnQs9Cw0LAKCQkJZGZzKHYpOwoJCX0KCX0KCXZpc1t1XSA9IDA7CS8vINGN0L3RjSDQvtGA0L7QudCzINC40YDRjdGN0LPSr9C5INCx0L7Qu9Cz0L7QtiDRgtGN0LzQtNGN0LPQu9GN0L3RjQoJY250LS07CS8vINC30LDQvNGL0L0g0YPRgNGCINGF0LDRgdCw0LPQtNCw0L3QsAp9CgppbnQgbWFpbigpIHsKCWNpbiA+PiBuID4+IG07IAoJd2hpbGUoIG0tLSApIHsKCQlpbnQgdSwgdjsJLy8gdSwgdiAyINC+0YDQvtC5INGF0L7QvtGA0L7QvdC00L7QviDRiNGD0YPQtCDQuNGA0LzRjdCz0Y3RjdGAIAoJCQkJCS8vINGF0L7Qu9Cx0L7Qs9C00LTQvtCzINCz0Y3RgdGN0L0g0q/QswoJCWNpbiA+PiB1ID4+IHY7CgkJYWRqW3VdLnB1c2hfYmFjayggdiApOwoJCWFkalt2XS5wdXNoX2JhY2soIHUgKTsKCX0KCgljaW4gPj4geCA+PiB5OwoJZGZzKCB4ICk7CgoJcmV0dXJuIDA7Cn0=