#include<bits/stdc++.h>
using namespace std;
const int N=510;
int m;
int g[N][N];
int d[N];
vector<int> ans;
void dfs(int u){
for(int i=1;i<=500;i++){
if(g[u][i]){
g[u][i]--,g[i][u]--;
dfs(i);
}
}
ans.push_back(u);
}
int main(){
scanf("%d",&m);
for(int i=0;i<m;i++){
int a,b;
scanf("%d%d",&a,&b);
g[a][b]++,g[b][a]++;
d[a]++,d[b]++;
}
int root=0;
while(!d[root]) root++;
for(int i=1;i<=500;i++){
if(d[i]%2){
root=i;
break;
}
}
dfs(root);
for(int i=ans.size()-1;i>=0;i--) printf("%d\n",ans[i]);
return 0;
}