#include<iostream>
using namespace std;
int g[1005][1005];
int du[1005];
int m;
int n=0;
int bgin=1;
int path[1005];
int length;
void dfs(int v)
{
for(int i=1;i<=n;i++)
{
if(g[v][i]>0)
g[v][i]--;g[i][v]--;
}
path[length++]=v;
}
int main()
{
cin>>m;
for(int i=1;i<=m;i++)
{
int x;
int y;
cin>>x>>y;
if(i==1)
bgin=x;
g[x][y]++;
g[y][x]++;
du[x]++;
du[y]++;
bgin=min(bgin,min(x,y));
n=max(n,max(x,y));
}
int start=bgin;
for(int i=bgin;i<=n;i++)
{
if(du[i]%2==1)
{
start=i;
break;
}
}
dfs(start);
for(int i=length-1;i>=0;i--)
{
cout<<path[i]<<endl;
}
return 0;
}