#include<bits/stdc++.h>
using namespace std;
int n;
bool vis[100010];
int in[100010];
vector<int>gp[100010];
void toposort()
{
queue<int>q;
for(int i=1;i<=n;i++)
{
if(in[i]==1)q.push(i),vis[i]=true;
}
while(!q.empty())
{
int f=q.front();
q.pop();
for (int i=1;i<=gp[f].size();i++)
{
int k=gp[f][i];
in[k]--;
if(in[k]==1)q.push(k),vis[k]=true;
}
}
}
int main()
{
memset(vis,0,sizeof(vis));
cin>>n;
for(int i=1;i<=n;i++)
{
int x,y;
cin>>x>>y;
gp[x].push_back(y);
gp[y].push_back(x);
in[x]++;
in[y]++;
}
toposort();
for(int i=1;i<=n;i++)
{
if(!vis[i])cout<<i<<' ';
}
return 0;
}