# include <iostream>
# include <stdio.h>
# include <algorithm>
# include <queue>
# include <set>
# include <string.h>
# include <vector>
# include <fstream>
# include <math.h>
# include <sstream>
# include <stack>
# define for1(i,k,n) for(long long i=k;i<n;i++)
# define for2(i,k,n) for(long long i=k;i<=n;i++)
# define Min(x,y) ((x)<(y)?(x):(y))
# define Max(x,y) ((x)>(y)?(x):(y))
# define INF (long long int ) 1e15
# define ALL(x) (begin(x),end(x))
# define Abs(x) (x>=0?x:-x)
using namespace std;
typedef long long int ll;
ll t;
vector < vector <int> > g;
vector <int> status;
vector <int> status2;
vector <int> status3;
vector <bool> v1;
vector <int> reach;
stack <int> global;
ll d1;
void dfs (int x)
{ ll y;
if (status[x]!=0)
return;
reach[x]=1;
++t;
global.push(x);
status2[x]=t;
status3[x]=t;
if (status[x]==0)
{
status[x]=1;
for1(i,0,g[x].size())
dfs(g[x][i]);
}
status [x]=2;
for1(i,0,g[x].size())
{
status2[x]=Min(status2[x],status2[g[x][i]]);
}
if (status2[x]==status3[x])
{
while (global.top()!=x)
{
y=global.top();
global.pop();
if (d1==-1)
v1[y]=true;
// cout<<y<<" ";
}
// cout<<x<<endl;
if (d1==-1)
v1[x]=true;
global.pop();
d1=0;
}
return;
}
int main()
{
#ifndef ONLINE_JUDGE
freopen("in.txt", "r", stdin);
freopen("out.txt", "w", stdout);
#endif
std::ios_base::sync_with_stdio (false);
ll i,j,k,x,y,l,n,m,e,v,sum1;
while ((cin>>v)&&(v!=0))
{
t=0;
reach.clear();
reach.resize(v+1,0);
g.clear();
status.clear();
g.resize(v+1);
status.resize(v+1);
fill(status.begin(),status.end(),0);
status2.clear();
status3.clear();
status2.resize(v+1);
status3.resize(v+1);
v1.clear();
v1.resize(v+1);
fill(v1.begin(),v1.end(),0);
cin>>e;
for1(i,0,e)
{
cin>>x>>y;
g[x].push_back(y);
}
while(!global.empty())
global.pop();
for1(i,1,v+1)
{
if (status[i]==0)
{d1=-1;
while(!global.empty())
global.pop();
dfs(i);
}
}
for1(i,1,v+1)
if (v1[i])
cout<<i<<" ";
cout<<endl;
}
return 0;
}
IyBpbmNsdWRlIDxpb3N0cmVhbT4KIyBpbmNsdWRlIDxzdGRpby5oPgojIGluY2x1ZGUgPGFsZ29yaXRobT4KIyBpbmNsdWRlIDxxdWV1ZT4KIyBpbmNsdWRlIDxzZXQ+CiMgaW5jbHVkZSA8c3RyaW5nLmg+CiMgaW5jbHVkZSA8dmVjdG9yPgojIGluY2x1ZGUgPGZzdHJlYW0+CiMgaW5jbHVkZSA8bWF0aC5oPgojIGluY2x1ZGUgPHNzdHJlYW0+CiMgaW5jbHVkZSA8c3RhY2s+CgojIGRlZmluZSBmb3IxKGksayxuKSAgICAgICAgICAgICAgZm9yKGxvbmcgbG9uZyBpPWs7aTxuO2krKykKIyBkZWZpbmUgZm9yMihpLGssbikgICAgICAgICAgICAgIGZvcihsb25nIGxvbmcgaT1rO2k8PW47aSsrKQojIGRlZmluZSBNaW4oeCx5KSAgICAgICAgICAgICAgICAgICAoKHgpPCh5KT8oeCk6KHkpKQojIGRlZmluZSBNYXgoeCx5KSAgICAgICAgICAgICAgICAgICAoKHgpPih5KT8oeCk6KHkpKQojIGRlZmluZSBJTkYgKGxvbmcgbG9uZyBpbnQgKSAxZTE1CiMgZGVmaW5lIEFMTCh4KSAgICAgICAgICAgICAgICAgIChiZWdpbih4KSxlbmQoeCkpCiMgZGVmaW5lIEFicyh4KSAgICAgICAgICAgICAgICAgKHg+PTA/eDoteCkKCnVzaW5nIG5hbWVzcGFjZSBzdGQ7CnR5cGVkZWYgbG9uZyBsb25nIGludCBsbDsKCmxsIHQ7Cgp2ZWN0b3IgPCB2ZWN0b3IgPGludD4gPiAgZzsKdmVjdG9yIDxpbnQ+IHN0YXR1czsKdmVjdG9yIDxpbnQ+IHN0YXR1czI7CnZlY3RvciA8aW50PiBzdGF0dXMzOwp2ZWN0b3IgPGJvb2w+IHYxOwp2ZWN0b3IgPGludD4gcmVhY2g7CnN0YWNrIDxpbnQ+IGdsb2JhbDsKbGwgZDE7CnZvaWQgZGZzIChpbnQgeCkKeyBsbCB5OwoJaWYgKHN0YXR1c1t4XSE9MCkKCQlyZXR1cm47CglyZWFjaFt4XT0xOwoJKyt0OwoJZ2xvYmFsLnB1c2goeCk7CglzdGF0dXMyW3hdPXQ7CnN0YXR1czNbeF09dDsKaWYgKHN0YXR1c1t4XT09MCkKewoJc3RhdHVzW3hdPTE7Cglmb3IxKGksMCxnW3hdLnNpemUoKSkKCWRmcyhnW3hdW2ldKTsKfQpzdGF0dXMgW3hdPTI7Cgpmb3IxKGksMCxnW3hdLnNpemUoKSkKewogc3RhdHVzMlt4XT1NaW4oc3RhdHVzMlt4XSxzdGF0dXMyW2dbeF1baV1dKTsgCgp9CmlmIChzdGF0dXMyW3hdPT1zdGF0dXMzW3hdKQp7ICAKd2hpbGUgKGdsb2JhbC50b3AoKSE9eCkKeyAgIAoJeT1nbG9iYWwudG9wKCk7CglnbG9iYWwucG9wKCk7CglpZiAoZDE9PS0xKQoJCXYxW3ldPXRydWU7CgkvLyBjb3V0PDx5PDwiICI7Cn0gCi8vIGNvdXQ8PHg8PGVuZGw7CmlmIChkMT09LTEpCnYxW3hdPXRydWU7Cmdsb2JhbC5wb3AoKTsKZDE9MDsKfQpyZXR1cm47Cn0KCgoKCiAgaW50IG1haW4oKQp7CiAjaWZuZGVmIE9OTElORV9KVURHRQogICAgZnJlb3BlbigiaW4udHh0IiwgInIiLCBzdGRpbik7CiAgICAgZnJlb3Blbigib3V0LnR4dCIsICJ3Iiwgc3Rkb3V0KTsKI2VuZGlmCiAgICBzdGQ6Omlvc19iYXNlOjpzeW5jX3dpdGhfc3RkaW8gKGZhbHNlKTsKCiAgICBsbCBpLGosayx4LHksbCxuLG0sZSx2LHN1bTE7Cgp3aGlsZSAoKGNpbj4+dikmJih2IT0wKSkKewoJdD0wOwpyZWFjaC5jbGVhcigpOwpyZWFjaC5yZXNpemUodisxLDApOwoJZy5jbGVhcigpOwogICBzdGF0dXMuY2xlYXIoKTsKICAgZy5yZXNpemUodisxKTsKICAgc3RhdHVzLnJlc2l6ZSh2KzEpOwogIGZpbGwoc3RhdHVzLmJlZ2luKCksc3RhdHVzLmVuZCgpLDApOwogICBzdGF0dXMyLmNsZWFyKCk7CiAgIHN0YXR1czMuY2xlYXIoKTsKICAgc3RhdHVzMi5yZXNpemUodisxKTsKICAgc3RhdHVzMy5yZXNpemUodisxKTsKICAgdjEuY2xlYXIoKTsKICAgdjEucmVzaXplKHYrMSk7CiAgIGZpbGwodjEuYmVnaW4oKSx2MS5lbmQoKSwwKTsKY2luPj5lOwpmb3IxKGksMCxlKQp7CgljaW4+Png+Pnk7CglnW3hdLnB1c2hfYmFjayh5KTsKfQp3aGlsZSghZ2xvYmFsLmVtcHR5KCkpCmdsb2JhbC5wb3AoKTsKCmZvcjEoaSwxLHYrMSkKewoJaWYgKHN0YXR1c1tpXT09MCkKCXtkMT0tMTsKCQl3aGlsZSghZ2xvYmFsLmVtcHR5KCkpCmdsb2JhbC5wb3AoKTsKCQlkZnMoaSk7Cgl9Cgp9Cgpmb3IxKGksMSx2KzEpCmlmICh2MVtpXSkKCSBjb3V0PDxpPDwiICI7CiBjb3V0PDxlbmRsOwp9CnJldHVybiAwOwp9