#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")