#include<bits/stdc++.h>
using namespace std;
int graph[1001][1001];
int visit[1001];
int n, e; // ai gola auto 0 hbe
vector<int>ans; // time complx(verte + edge)
void DFS(int start)
{
visit[start] =1;
for(int j =1; j<= n ;j++)
{
if(visit[j] == 0 && graph[start][j] != 0 )
{
visit[j] = 1;
DFS(j);
}
}
ans.push_back(start);
}
int main()
{
cin >> n >> e;
int u ,v;
for(int i =1; i <=e; i++)
{
cin >> u >> v;
graph[u][v] =1;
}
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;
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKaW50IGdyYXBoWzEwMDFdWzEwMDFdOwppbnQgdmlzaXRbMTAwMV07CmludCBuLCBlOyAvLyBhaSBnb2xhIGF1dG8gMCBoYmUKCnZlY3RvcjxpbnQ+YW5zOyAvLyB0aW1lIGNvbXBseCh2ZXJ0ZSArIGVkZ2UpCgp2b2lkIERGUyhpbnQgc3RhcnQpCnsKCiAgICB2aXNpdFtzdGFydF0gPTE7CiAgICBmb3IoaW50IGogPTE7IGo8PSBuIDtqKyspCiAgICB7CgogICAgICAgIGlmKHZpc2l0W2pdID09IDAgJiYgZ3JhcGhbc3RhcnRdW2pdICE9IDAgKQogICAgICAgIHsKICAgICAgICAgICAgdmlzaXRbal0gPSAxOwogICAgICAgICAgICBERlMoaik7CiAgICAgICAgfQogICAgfQogICAgYW5zLnB1c2hfYmFjayhzdGFydCk7Cn0KaW50IG1haW4oKQp7CiAgIGNpbiA+PiBuID4+IGU7CiAgIGludCB1ICx2OwogICBmb3IoaW50IGkgPTE7IGkgPD1lOyBpKyspCiAgIHsKCiAgICAgICBjaW4gPj4gdSA+PiB2OwogICAgICAgZ3JhcGhbdV1bdl0gPTE7CiAgIH0KCiAgIGZvcihpbnQgaSA9MTsgaTw9IG47aSsrKQogICB7CgogICAgICAgaWYodmlzaXRbaV09PTApLy8gb25seSB1bnZpc2l0IG5vZGUgam9uIGxvb3AgY29sYmUKICAgICAgIHsKCiAgICAgICAgICAgREZTKGkpOwogICAgICAgfQogICB9CgogICBmb3IoaW50IGkgPSBhbnMuc2l6ZSgpLTE7aSA+PTA7IGktLSkKICAgewogICAgICAgY291dCA8PCBhbnNbaV0gPDwgIiAiOwogICB9CiAgICByZXR1cm4gMDsKfQo=