#include <bits/stdc++.h>
using namespace std;

const int MAX=2e5+10;
int in[MAX];
vector<int>tu[MAX];

queue<int>a;
int n,m;
int b[MAX];
void tuopu()
{
    for(int i=1;i<=n;i++)
        if(in[i]==0)
            a.push(i);
    int count=0;
    while(!a.empty())
    {
        int c=a.front();
        a.pop();
        b[count]=c;
        count++;
        for(int i=0;i<tu[c].size();i++)
        {
            int t=tu[c][i];
            in[t]--;
            if(in[t]==0)
                a.push(t);
        }
    }
    if(count==n)
    {
        for(int w=0;w<n;w++)
        {   
            if(w!=0)
                cout<<" ";//容易在结尾多打一个空格
            cout<<b[w];
        }
        return;
    }
    else
        cout<<"-1";
    return;
}

int main()
{
    cin>>n>>m;
    for(int i=1;i<=m;i++)
    {
        int x,y;
        cin>>x>>y;
        tu[x].push_back(y);
        in[y]++;
    }
    tuopu();
    return 0;
}