/* THOU SHALL BE REWARDED DESERVINGLY */
#include<bits/stdc++.h>
using namespace std;
#define int long long
#define f first;
#define s second
#define mp make_pair
#define pb push_back
#define print(x) cout<<x<<"\n"
#define debug(x) cout<<#x<<" "<<x<<"\n"
#define yes cout<<"YES\n"
#define no cout<<"NO\n"
#define nl cout<<"\n";
#define uniq(v) (v).erase(unique(all(v)),(v).end())
#define sum(a) (accumulate ((a).begin(), (a).end(), 0ll))
#define minv(a) (*min_element((a).begin(), (a).end()))
#define maxv(a) (*max_element((a).begin(), (a).end()))
#define mina(a,n) (*min_element(a, a+n))
#define maxa(a,n) (*max_element(a, a+n))
#define mni(a) (min_element((a).begin(), (a).end())-(a).begin())
#define mxi(a) (max_element((a).begin(), (a).end())-(a).begin())
#define lb(a, x) (lower_bound((a).begin(), (a).end(), (x))-(a).begin())
#define ub(a, x) (upper_bound((a).begin(), (a).end(), (x))-(a).begin())
#define all(x) (x).begin(), (x).end()
#define rep(i,a,n) for(int i=a; i<n; i++)
#define per(i,a,n) for(int i=n-1; i>= a; i--)
#define repv(itr, v) for(auto itr=v.begin(); itr!=v.end(); itr++)
#define fnd(v, x) find(v.begin(), v.end(), x)!=v.end()
#define printv(v) for(auto e : v) cout<<e<<" "
#define pushv(v, n) rep(i,0,n) cin>>v[i]
#define bsearch(v, x) binary_search(v.begin(), v.end(), x)
#define uniq(v) (v).erase(unique(all(v)),(v).end())
#define sz(x) ((int)(x).size())
#define eps 1e-9
typedef vector<int> vi;
typedef map<int, int> mi;
const int mod = 1e9+7;
const int inf = (int)1e9;
const int INF=(int) 1e18;
const int N = 3e5 + 5;
vector< vector<int> >tr;
int indeg[200200];
int vis[200200];
int stak[200020];
double ways[200200];
bool dfs(int node)
{
vis[node]=1;
stak[node]=1;
for(auto child : tr[node])
{
if(!vis[child])
{
vis[child]=1;
if(dfs(child)) return 1;
}
if(stak[child]) return 1;
}
//vis[node]=0;
stak[node]=0;
return 0;
}
bool iscycle(int node)
{
return dfs(node);
}
int32_t main()
{
cin.sync_with_stdio(false);
cin.tie(0); cout.tie(0);
int tt = 1; //cin>>tt;
while(tt--)
{
int n,m,r,u,v; cin>>n>>m;
//vi a(n); pushv(a, n);
tr.resize(n+1);
rep(i,0,m)
{
cin>>u>>v;
tr[u].pb(v);
//tr[v].pb(u);
indeg[v]++;
//outdeg[u]++;
}
//ways[r]=1;
bool bb=0;
queue <int> q;
vector<int> init;
rep(i,1,n+1)
{
if(indeg[i]==0) { q.push(i); init.pb( i);}
}
rep(i,0,sz(init)) if(iscycle(init[i]))
{
print("IMPOSSIBLE"); return 0;
}
vector<int>ans;
while(!q.empty())
{
int curr=q.front();
q.pop();
ans.pb(curr);
for( auto child : tr[curr])
{
indeg[child]--;
//ways[child]= ways[curr]*1.0/outdeg[curr];
if(indeg[child]==0)
q.push(child);
}
}
if(sz(ans)!=n)
{
print("IMPOSSIBLE"); return 0;
}
for(auto x : ans) cout<<x<<" ";
}
return 0;
}
LyogVEhPVSBTSEFMTCBCRSBSRVdBUkRFRCBERVNFUlZJTkdMWSAqLwojaW5jbHVkZTxiaXRzL3N0ZGMrKy5oPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwojZGVmaW5lIGludCBsb25nIGxvbmcKI2RlZmluZSBmIGZpcnN0OwojZGVmaW5lIHMgc2Vjb25kCiNkZWZpbmUgbXAgbWFrZV9wYWlyCiNkZWZpbmUgcGIgcHVzaF9iYWNrCiAKI2RlZmluZSBwcmludCh4KSBjb3V0PDx4PDwiXG4iCiNkZWZpbmUgZGVidWcoeCkgY291dDw8I3g8PCIgIjw8eDw8IlxuIgojZGVmaW5lIHllcyBjb3V0PDwiWUVTXG4iCiNkZWZpbmUgbm8gIGNvdXQ8PCJOT1xuIgojZGVmaW5lIG5sICBjb3V0PDwiXG4iOwojZGVmaW5lIHVuaXEodikgKHYpLmVyYXNlKHVuaXF1ZShhbGwodikpLCh2KS5lbmQoKSkKI2RlZmluZSBzdW0oYSkgKGFjY3VtdWxhdGUgKChhKS5iZWdpbigpLCAoYSkuZW5kKCksIDBsbCkpCiNkZWZpbmUgbWludihhKQkoKm1pbl9lbGVtZW50KChhKS5iZWdpbigpLCAoYSkuZW5kKCkpKQojZGVmaW5lIG1heHYoYSkJKCptYXhfZWxlbWVudCgoYSkuYmVnaW4oKSwgKGEpLmVuZCgpKSkKI2RlZmluZSBtaW5hKGEsbikgKCptaW5fZWxlbWVudChhLCBhK24pKQojZGVmaW5lIG1heGEoYSxuKSAoKm1heF9lbGVtZW50KGEsIGErbikpCiNkZWZpbmUgbW5pKGEpIChtaW5fZWxlbWVudCgoYSkuYmVnaW4oKSwgKGEpLmVuZCgpKS0oYSkuYmVnaW4oKSkKI2RlZmluZSBteGkoYSkgKG1heF9lbGVtZW50KChhKS5iZWdpbigpLCAoYSkuZW5kKCkpLShhKS5iZWdpbigpKQojZGVmaW5lIGxiKGEsIHgpIChsb3dlcl9ib3VuZCgoYSkuYmVnaW4oKSwgKGEpLmVuZCgpLCAoeCkpLShhKS5iZWdpbigpKQojZGVmaW5lIHViKGEsIHgpICh1cHBlcl9ib3VuZCgoYSkuYmVnaW4oKSwgKGEpLmVuZCgpLCAoeCkpLShhKS5iZWdpbigpKQojZGVmaW5lIGFsbCh4KSAoeCkuYmVnaW4oKSwgKHgpLmVuZCgpCiNkZWZpbmUgcmVwKGksYSxuKSBmb3IoaW50IGk9YTsgaTxuOyBpKyspCiNkZWZpbmUgcGVyKGksYSxuKSBmb3IoaW50IGk9bi0xOyBpPj0gYTsgaS0tKQojZGVmaW5lIHJlcHYoaXRyLCB2KSBmb3IoYXV0byBpdHI9di5iZWdpbigpOyBpdHIhPXYuZW5kKCk7IGl0cisrKQojZGVmaW5lIGZuZCh2LCB4KSBmaW5kKHYuYmVnaW4oKSwgdi5lbmQoKSwgeCkhPXYuZW5kKCkKI2RlZmluZSBwcmludHYodikgZm9yKGF1dG8gZSA6IHYpIGNvdXQ8PGU8PCIgIgojZGVmaW5lIHB1c2h2KHYsIG4pIHJlcChpLDAsbikgY2luPj52W2ldCiNkZWZpbmUgYnNlYXJjaCh2LCB4KSBiaW5hcnlfc2VhcmNoKHYuYmVnaW4oKSwgdi5lbmQoKSwgeCkKI2RlZmluZSB1bmlxKHYpCSh2KS5lcmFzZSh1bmlxdWUoYWxsKHYpKSwodikuZW5kKCkpCiNkZWZpbmUgc3ooeCkgKChpbnQpKHgpLnNpemUoKSkKI2RlZmluZSBlcHMgMWUtOQogCiAKdHlwZWRlZiB2ZWN0b3I8aW50PiB2aTsKdHlwZWRlZiBtYXA8aW50LCBpbnQ+IG1pOwogCiAKY29uc3QgaW50IG1vZCA9IDFlOSs3Owpjb25zdCBpbnQgaW5mID0gKGludCkxZTk7CmNvbnN0IGludCBJTkY9KGludCkgMWUxODsKY29uc3QgaW50IE4gPSAzZTUgKyA1OwogCnZlY3RvcjwgdmVjdG9yPGludD4gPnRyOwppbnQgaW5kZWdbMjAwMjAwXTsKaW50IHZpc1syMDAyMDBdOwppbnQgc3Rha1syMDAwMjBdOwpkb3VibGUgd2F5c1syMDAyMDBdOwogCmJvb2wgZGZzKGludCBub2RlKQp7Cgl2aXNbbm9kZV09MTsKCXN0YWtbbm9kZV09MTsKIAoJZm9yKGF1dG8gY2hpbGQgOiB0cltub2RlXSkKCXsKCQlpZighdmlzW2NoaWxkXSkKCQl7CgkJCSB2aXNbY2hpbGRdPTE7CgkJCSAgIGlmKGRmcyhjaGlsZCkpIHJldHVybiAxOwoJCX0KCQlpZihzdGFrW2NoaWxkXSkgcmV0dXJuIDE7CiAKCX0KIAoJLy92aXNbbm9kZV09MDsKCXN0YWtbbm9kZV09MDsKIAoJcmV0dXJuIDA7Cn0KIAogCiAKYm9vbCBpc2N5Y2xlKGludCBub2RlKQp7CglyZXR1cm4gZGZzKG5vZGUpOwp9CiAKIAogCiAKaW50MzJfdCBtYWluKCkKewoJY2luLnN5bmNfd2l0aF9zdGRpbyhmYWxzZSk7CgljaW4udGllKDApOyBjb3V0LnRpZSgwKTsKIAogCiAgICBpbnQgdHQgPSAxOyAgIC8vY2luPj50dDsKIAogICAgd2hpbGUodHQtLSkKICAgIHsKCQlpbnQgbixtLHIsdSx2OyBjaW4+Pm4+Pm07CiAgICAgICAgLy92aSBhKG4pOyBwdXNodihhLCBuKTsKIAogICAgICAgIHRyLnJlc2l6ZShuKzEpOwogCiAgICAgICAgcmVwKGksMCxtKQogICAgICAgIHsKICAgICAgICAJY2luPj51Pj52OwogICAgICAgIAl0clt1XS5wYih2KTsKICAgICAgICAJLy90clt2XS5wYih1KTsKICAgICAgICAJaW5kZWdbdl0rKzsKICAgICAgICAJLy9vdXRkZWdbdV0rKzsKIAogICAgICAgIH0KIAogICAgICAgIC8vd2F5c1tyXT0xOwogCiAgICAgICAgYm9vbCBiYj0wOwogCiAKICAgICAgICBxdWV1ZSA8aW50PiBxOwogCiAgICAgICAgdmVjdG9yPGludD4gaW5pdDsKIAogICAgICAgIHJlcChpLDEsbisxKQogICAgICAgIHsKICAgICAgICAJaWYoaW5kZWdbaV09PTApIHsgcS5wdXNoKGkpOyBpbml0LnBiKCBpKTt9CiAgICAgICAgfQogCiAgICAgICAgIHJlcChpLDAsc3ooaW5pdCkpIGlmKGlzY3ljbGUoaW5pdFtpXSkpCiAgICAgICAgewogICAgICAgIAlwcmludCgiSU1QT1NTSUJMRSIpOyByZXR1cm4gMDsKICAgICAgICB9CiAKICAgICAgICB2ZWN0b3I8aW50PmFuczsKIAogICAgICAgIHdoaWxlKCFxLmVtcHR5KCkpCiAgICAgICAgewogICAgICAgIAlpbnQgY3Vycj1xLmZyb250KCk7CiAgICAgICAgCXEucG9wKCk7CiAgICAgICAgCWFucy5wYihjdXJyKTsKIAogICAgICAgIAlmb3IoIGF1dG8gY2hpbGQgOiB0cltjdXJyXSkKICAgICAgICAJewogICAgICAgIAkJaW5kZWdbY2hpbGRdLS07CiAgICAgICAgCQkvL3dheXNbY2hpbGRdPSB3YXlzW2N1cnJdKjEuMC9vdXRkZWdbY3Vycl07CiAKICAgICAgICAJCWlmKGluZGVnW2NoaWxkXT09MCkKICAgICAgICAJCSBxLnB1c2goY2hpbGQpOwogICAgICAgIAl9CiAKIAogICAgICAgIH0KIAogICAgICAgIGlmKHN6KGFucykhPW4pCiAgICAgICAgewogICAgICAgIAlwcmludCgiSU1QT1NTSUJMRSIpOyByZXR1cm4gMDsKICAgICAgICB9CiAKICAgICAgICBmb3IoYXV0byB4IDogYW5zKSBjb3V0PDx4PDwiICI7CiAKIAogICAgfQogICAgcmV0dXJuIDA7Cn0=