WA on#8#9
#include<bits/stdc++.h>
using namespace std;
int F,n=1,maxx=-1e9,minn=1e9,fence[501][501];
void dfs(int m){
cout<<m<<endl;
for (int i=1;i<=maxx;i++){
if(fence[m][i]>0){
fence[m][i]--;
fence[i][m]--;
dfs(i);
}
}
}
int main()
{
cin>>F;
int I,J;
for (int i=1;i<=F;i++){
cin>>I>>J;
fence[I][J]++;
fence[J][I]++;
maxx=max(maxx,I);
maxx=max(maxx,J);
minn=min(minn,J);
}
bool k=0;
for (int i=1;i<=maxx;i++){
int ans=0;
for (int j=1;j<=maxx;j++){
if(fence[i][j]!=0) ans++;
}
if(ans%2==1){
n=i;
k=1;
break;
}
}
if(!k){
n=minn;
}
dfs(n);
return 0;
}