/*
*
* soon on twitch : ex3qute
*
* ax ah al
* kwxkwxkxkxwkxkwxkw
* dumnezeu sa o ierte
*/
#include <bits/stdc++.h>
using namespace std;
#define ull unsigned long long
#define ll long long
#define pb push_back
#define fastio ios_base::sync_with_stdio(0); cin.tie(nullptr);
const int MOD = 1e9+7;
int di[4]={0,0,-1,1};
int dj[4]={-1,1,0,0};
const string FILENAME = "sortaret";
ifstream f(FILENAME + ".in");
ofstream g(FILENAME + ".out");
#ifndef exe
#define cin f
#define cout g
#endif
vector<int> ls[50001];
int vz[50001];
deque<int> q;
int n,m;
void dfs(int k) {
vz[k] = 1;
for(auto p : ls[k]) {
if(!vz[p]) dfs(p);
}
q.push_front(k);
}
signed main(){
cin >> n >> m;
for(int i=1;i<=m;++i) {
int x,y;
cin >> x >> y;
ls[x].pb(y);
}
for(int i=1;i<=n;++i) {
if(!vz[i]) dfs(i);
}
while(!q.empty()) {
cout << q.front() << ' ';
q.pop_front();
}
return 0;
}