89pts
#include <bits/stdc++.h>
using namespace std;
const int maxn=2e3+7;
int g[maxn][maxn],du[maxn],circuit[maxn],n,m,tot,x,y,start;
void find(int i){
for(int j=1;j<=n;j++){
if(g[i][j]){
g[i][j]--;
g[j][i]--;
find(j);
}
}
circuit[++tot]=i;
}
int main(){
memset(g,0,sizeof(g));
cin>>m;
for(int i=1;i<=m;i++){
cin>>x>>y;
g[x][y]++;
g[y][x]++;
du[x]++;
du[y]++;
n=max(n,max(x,y));
}
start=1;
for(int i=1;i<=n;i++){
if(du[i]&1){
start=i;
break;
}
}
tot=0;
find(start);
for(int i=tot;i>=1;i--) cout<<circuit[i]<<endl;
return 0;
}
#1$$WA