#include<bits/stdc++.h>
using namespace std;
vector <int> graph[1001];
int visit[1001];
int n,e;
vector<int>ans;
void DFS(int start)
{
visit[start] = 1;
for(int j = 0; j< graph[start].size();j++)//indx aigola
{
int node = graph[start][j];
if(visit[node] == 0)
{
visit[node] =1;
DFS(node);
}
}
ans.push_back(start);
}
int main()
{
cin >> n>> e;
int u,v;
for(int i =1; i<=e; i++)
{
cin>> u>>v;
graph[u].push_back(v);
}
for(int i =1; i<= n; i++)
{
if(visit[i]==0)// only unvisit node jon loop colbe
{
DFS(i);
}
}
for(int i = ans.size()-1; i >=0; i--)
{
cout << ans[i] << " ";
}
return 0;
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKdmVjdG9yIDxpbnQ+IGdyYXBoWzEwMDFdOwppbnQgdmlzaXRbMTAwMV07CmludCBuLGU7CnZlY3RvcjxpbnQ+YW5zOwp2b2lkIERGUyhpbnQgc3RhcnQpCnsKICAgIHZpc2l0W3N0YXJ0XSA9IDE7CiAgICBmb3IoaW50IGogPSAwOyBqPCBncmFwaFtzdGFydF0uc2l6ZSgpO2orKykvL2luZHggYWlnb2xhCiAgICB7CiAgICAgICAgaW50IG5vZGUgPSBncmFwaFtzdGFydF1bal07CiAgICAgICAgaWYodmlzaXRbbm9kZV0gPT0gMCkKICAgICAgICB7CiAgICAgICAgICAgIHZpc2l0W25vZGVdID0xOwogICAgICAgICAgICBERlMobm9kZSk7CiAgICAgICAgfQogICAgfQogICAgYW5zLnB1c2hfYmFjayhzdGFydCk7Cn0KaW50IG1haW4oKQp7CiAgICBjaW4gPj4gbj4+IGU7CiAgICBpbnQgdSx2OwogICAgZm9yKGludCBpID0xOyBpPD1lOyBpKyspCiAgICB7CgogICAgICAgIGNpbj4+IHU+PnY7CiAgICAgICAgZ3JhcGhbdV0ucHVzaF9iYWNrKHYpOwogICAgfQogICAgZm9yKGludCBpID0xOyBpPD0gbjsgaSsrKQogICAgewoKICAgICAgICBpZih2aXNpdFtpXT09MCkvLyBvbmx5IHVudmlzaXQgbm9kZSBqb24gbG9vcCBjb2xiZQogICAgICAgIHsKCiAgICAgICAgICAgIERGUyhpKTsKICAgICAgICB9CiAgICB9CgogICAgZm9yKGludCBpID0gYW5zLnNpemUoKS0xOyBpID49MDsgaS0tKQogICAgewogICAgICAgIGNvdXQgPDwgYW5zW2ldIDw8ICIgIjsKICAgIH0KCiAgICByZXR1cm4gMDsKfQo=