#include<bits/stdc++.h>
using namespace std;
#define pb push_back
#define maxx 10009
int color[maxx];
vector<int>G[maxx];
vector<int>v;
void topo(int s)
{
color[s]=1;
for(int i=0;i<G[s].size();i++)
{
if(!color[G[s][i]])
topo(G[s][i]);
}
v.pb(s);
}
int main()
{
int n,m;
cin>>n>>m;
memset(color,0,sizeof color);
while(m--)
{
int x,y;
cin>>x>>y;
G[x].pb(y);
}
for(int i=1;i<=n;i++)
{
if(!color[i])
topo(i);
}
for(int i=v.size()-1;i>=0;i--)
cout<<v[i]<<" ";
return 0;
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKI2RlZmluZSBwYiBwdXNoX2JhY2sKI2RlZmluZSBtYXh4IDEwMDA5CmludCBjb2xvclttYXh4XTsKdmVjdG9yPGludD5HW21heHhdOwp2ZWN0b3I8aW50PnY7CnZvaWQgdG9wbyhpbnQgcykKewogICAgY29sb3Jbc109MTsKICAgIGZvcihpbnQgaT0wO2k8R1tzXS5zaXplKCk7aSsrKQogICAgewogICAgICAgIGlmKCFjb2xvcltHW3NdW2ldXSkKICAgICAgICAgICAgdG9wbyhHW3NdW2ldKTsKICAgIH0KICAgIHYucGIocyk7Cn0KaW50IG1haW4oKQp7CiAgICBpbnQgbixtOwogICAgY2luPj5uPj5tOwogICAgbWVtc2V0KGNvbG9yLDAsc2l6ZW9mIGNvbG9yKTsKICAgIHdoaWxlKG0tLSkKICAgIHsKICAgICAgICBpbnQgeCx5OwogICAgICAgIGNpbj4+eD4+eTsKICAgICAgICBHW3hdLnBiKHkpOwogICAgfQogICAgZm9yKGludCBpPTE7aTw9bjtpKyspCiAgICB7CiAgICAgICAgaWYoIWNvbG9yW2ldKQogICAgICAgICAgICB0b3BvKGkpOwogICAgfQogICAgZm9yKGludCBpPXYuc2l6ZSgpLTE7aT49MDtpLS0pCiAgICAgICAgY291dDw8dltpXTw8IiAiOwogICAgcmV0dXJuIDA7Cn0K