#include<bits/stdc++.h>
using namespace std;
vector<int> e[10000];
queue<int>q;
int num=0;
int in[10000],ans[10000];//统计入度
int main(){
int n,m,x,y;
cin>>n>>m;
for(int i=1;i<=m;i++){
cin>>x>>y;
e[x].push_back(y);//建边
in[y]++;
}
cin>>x>>y;
for(int i=1;i<=n;i++){
if(in[i]==0) {
q.push(i); }
}
while(!q.empty()){
int u=q.front(); q.pop();
ans[++num]=u;
for(int i=0;i<e[u].size();i++){
in[e[u][i]]--;//e[u][i]的表示从u的出发第i个边的指向的点
if(in[e[u][i]]==0) q.push(e[u][i]);
}
}
if(num==n){
for(int i=1;i<=num;i++) cout<<ans[i]<<" ";
}
return 0;
}