#include <bits/stdc++.h>
using namespace std;
#define REP(i, n) for (int i = 0; i < n; i++)
#define REPR(i, n) for (int i = n; i >= 0; i--)
#define SORT(v) sort((v).begin(), (v).end())
#define ALL(v) (v).begin(), (v).end()

int V, E;
bool visited[105];
vector<vector<int> > g;
vector<int> ls;

void dfs(int i){
    visited[i] = true;
    for(auto to : g[i]){
        if(visited[to]>0)continue;
        dfs(to);
    } 
    ls.push_back(i);
}

int main() {
    cin >> V >> E;
    g.resize(V+1);
    REP(i,E){
        int s, t;
        cin >> s >> t;
        g[s].push_back(t);
    }
    for(int i=1;i<=V;i++){
        if(visited[i]>0)continue;
        dfs(i);
    }
    reverse(ALL(ls));
    for(auto i : ls){
        cout << i << endl;
    }
    return 0;
}
