#include <bitset>//--------这是模板题
#include <iostream>
#include <map>
#include <queue>
#include <vector>
using namespace std;
unsigned char du[200009]{0};//-------------标记入度
bitset<200009> bj;//----------标记有这个节点
map<int, vector<int>> hv_map;//-------模拟邻接表
vector<int> ans;//-----------存答案
queue<int> que;//----------bfs用的队列
int main() {
int n, m;
cin >> n >> m;
int a, b;
while (cin >> a >> b) { // 注意 while 处理多个 case
hv_map[a].push_back(b);
hv_map[b].push_back(a);
du[b]++;
bj[a] = 1;
bj[b] = 1;
}
b = 0;
for (int i = 0; i < 200005; i++)
if (bj[i]){
b++;
if (!du[i])
que.push(i);
}
a = 0;
int x;
while(!que.empty()){
x = que.front();
que.pop();
a++;
ans.push_back(x);
for (int n : hv_map[x]){
du[n]--;
if (!du[n])
que.push(n);
}
}
if (a != b) cout << -1;
else{
size_t size = ans.size();
for (int i = 0; i < size - 1; i++) cout << ans[i] << ' ';
if (size >= 1)
cout << ans[size - 1];//-------------最后一个输出不能跟空格我也不知道为什么T_T
}
}
// 64 位输出请用 printf("%lld")