#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]) {
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]){
parent[y] = x;
q.push(y);
visited[y] = true;
}
}
}
}
int main(){
cin >> m >> n ;
int s, t;
cin >> s >> t;
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());
}
BFS(s);
if(!visited[t]){
cout << "-1";
return 0;
}
else{
vector<int> path;
while(s != t){
path.push_back(t);
t = parent[t];
}
path.push_back(s);
reverse(path.begin(),path.end());
for(int x : path){
cout << x << " ";
}
}
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKdmVjdG9yPGludD4ga2VbMTAwMV07CmludCBtICwgbjsgCmludCBwYXJlbnRbMTAwMV07CmJvb2wgdmlzaXRlZFsxMDAxXTsKaW50IGt0ID0gMDsKdm9pZCBERlMoaW50IHUpIHsKICAgIHZpc2l0ZWRbdV0gPSB0cnVlOwogICAgZm9yIChpbnQgeCA6IGtlW3VdKSB7CiAgICAgICAgaWYgKCF2aXNpdGVkW3hdKSB7CiAgICAgICAgICAgIHBhcmVudFt4XSA9IHU7CiAgICAgICAgICAgIERGUyh4KTsKICAgICAgICAgICAga3QgPSB4OyAvLyBDP3Agbmg/dCBiaT9uIGt0IG0/aSBraGkgdMOsbSB0aD95IG0/dCBkP25oIGNodWEgZHU/YyB0aGFtCiAgICAgICAgfQogICAgfQp9CnZvaWQgQkZTKGludCB1KXsKCXF1ZXVlPGludD4gcTsKCXEucHVzaCh1KTsKCXZpc2l0ZWRbdV0gPSB0cnVlOwoJd2hpbGUoIXEuZW1wdHkoKSl7CgkJaW50IHggPSBxLmZyb250KCk7IHEucG9wKCk7CgkJZm9yKGludCB5IDoga2VbeF0pewoJCQlpZighdmlzaXRlZFt5XSl7CgkJCQlwYXJlbnRbeV0gPSB4OwoJCQkJcS5wdXNoKHkpOwoJCQkJdmlzaXRlZFt5XSA9IHRydWU7CgkJCX0KCQl9Cgl9Cn0KCmludCBtYWluKCl7CgljaW4gPj4gbSA+PiBuIDsKCWludCBzLCB0OyAKCWNpbiA+PiBzID4+IHQ7Cglmb3IoaW50IGkgPSAxIDsgaSA8PSBuIDsgaSsrKXsKCQlpbnQgeCx5OyAKCQljaW4gPj4geCA+PiB5OwoJCWtlW3hdLnB1c2hfYmFjayh5KTsKCX0KCWZvcihpbnQgaSA9IDEgOyBpIDw9IG4gOyBpKyspewoJCXNvcnQoa2VbaV0uYmVnaW4oKSxrZVtpXS5lbmQoKSk7Cgl9CglCRlMocyk7CglpZighdmlzaXRlZFt0XSl7CgkJY291dCA8PCAiLTEiOwoJCXJldHVybiAwOwoJfQoJZWxzZXsKCQl2ZWN0b3I8aW50PiBwYXRoOwoJCXdoaWxlKHMgIT0gdCl7CgkJCXBhdGgucHVzaF9iYWNrKHQpOwoJCQl0ID0gcGFyZW50W3RdOwoJCX0KCQlwYXRoLnB1c2hfYmFjayhzKTsKCQlyZXZlcnNlKHBhdGguYmVnaW4oKSxwYXRoLmVuZCgpKTsKCQlmb3IoaW50IHggOiBwYXRoKXsKCQkJY291dCA8PCB4IDw8ICIgIjsKCQl9Cgl9Cn0=