#include<bits/stdc++.h>usingnamespace std;constint MAXN =1e5+10;
vector<int> e[MAXN];int init[MAXN];voidtoupu(int n){
queue<int> G;for(int i =1; i <= n; i++){if(init[i]==1){
G.push(i);}}while(!G.empty()){int x = G.front();
G.pop();for(int i =0; i < e[x].size(); i++){int v = e[x][i];
init[v]--;if(init[v]==1){
G.push(v);}}}}intmain(){int n;scanf("%d",&n);for(int i =1; i <= n; i++){int u, v;scanf("%d %d",&u,&v);
e[u].push_back(v);
e[v].push_back(u);
init[u]++;
init[v]++;}toupu(n);for(int i =1; i <= n; i++){if(init[i]>1){
cout << i <<" ";}}}