#include <iostream>
#include <vector>
#include <queue>
using namespace std;
const int INF = 1<<29;


int main(){
  int n,m,x,y; cin >> n >> m;
  vector<vector<int> > g(n);
  vector<int> deg(n);
  for(int i=0; i < m; ++i) {
    cin >> x >> y; --x; --y;
    g[x].push_back(y);
    ++deg[y];
  }

  queue<int> que;
  for(int i=0; i < n; ++i) if(deg[i] == 0) que.push(i);

  vector<int> ans;
  while(que.size()) {
    int v = que.front(); que.pop();
    for(int nv : g[v]) {
      --deg[nv];
      if(deg[nv] == 0) que.push(nv);
    }
    ans.push_back(v+1);
  }
  for(int v : ans) cout << v << '\n';
  return 0;
}
