#include<bits/stdc++.h>

using namespace std;

const int N=2e5+5;

int n,m;
int b[N];
int vis[N];
int bel[N];
int cnt;

vector<int>V[N];

queue<int>q;

int main()
{
    scanf("%d%d",&n,&m);
    for(int i=1;i<=m;i++)
    {
        int u,v;
        scanf("%d%d",&u,&v);
        V[u].push_back(v);
        b[v]++;
    }
    for(int i=1;i<=n;i++) 
        if(b[i]==0) 
        {
            q.push(i);
            vis[i]=++cnt;
            bel[cnt]=i;
        }
    while(!q.empty())
    {
        int tmp=q.front();
        q.pop();
        for(int i=0;i<V[tmp].size();i++)
        {
            b[V[tmp][i]]--;
            if(!b[V[tmp][i]])
            {
                vis[V[tmp][i]]=++cnt;
                bel[cnt]=V[tmp][i];
                q.push(V[tmp][i]);
            }
        }
    }
    if(cnt<n) cout<<-1;
    else
    {
        for(int i=1;i<=cnt;i++)
        {
            cout<<bel[i];
            if(i<cnt) cout<<' ';
        }
    }
    return 0;
}