#include <iostream>
#include <fstream>
#include <queue>
#include <algorithm>
#define DN 100000
using namespace std;
vector <int> v[DN];
queue <int> q;
int deg[DN], c;
int main(){
int n, m, a, b;
freopen("sortaret.in", "r", stdin);
freopen("sortaret.out", "w", stdout);
//freopen("input.txt", "r", stdin);
cin >> n >> m;
for(int i = 0; i < m; ++i){
cin >> a >> b;
v[a].push_back(b);
deg[b] ++;
}
for(int i = 1; i < n; ++i)
if(deg[i] == 0)
q.push(i);
while(!q.empty()){
c = q.front();
q.pop();
cout << c << " ";
for(int i = 0; i < v[c].size(); ++i){
deg[v[c][i]]--;
if(deg[v[c][i]] == 0)
q.push(v[c][i]);
}
}
return 0;
}