#include<bits/stdc++.h>
using namespace std;
vector< vector<int> > nodSiMuchii;
ifstream in("sortaret.in");
ofstream out("sortaret.out");
vector<int> gasite;
void rezolvare( int nod )
{
if ( gasite[nod] == 0 ){
out<<nod<<" ";
gasite[nod] = -1;
}
for ( int i = 0 ; i < nodSiMuchii[nod].size() ; i++ ){
rezolvare(nodSiMuchii[nod][i]);
}
}
int vc[50005];
int main()
{
int n,m;
in>>n>>m;
nodSiMuchii.resize(n+1);
gasite.resize(n+1);
for ( int i = 1 ; i <= m ; i++ ){
int a,b;
in>>a>>b;
nodSiMuchii[a].push_back(b);
vc[b]++;
}
for ( int i = 1 ; i <= n ; i++ ){
if ( vc[i] == 0 ){
rezolvare(i);
}
}
return 0;
}