#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;
}