#include <bits/stdc++.h>
using namespace std;
int n, g[505][505], d[505], ans[505], st = -1;
bool flag;
int maxx;
int minn = -1;
void dfs(int x, int t) {
if (flag == true)
return;
ans[t] = x;
if (t == n + 1) {
flag = true;
return;
}
for (int i = 1; i <= maxx; i++) {
if (flag == true) {
return;
}
if (g[x][i]) {
g[x][i]--;
g[i][x]--;
dfs(i, t + 1);
g[x][i]++;
g[i][x]++;
}
}
}
int main() {
cin >> n;
for (int i = 1, u, v; i <= n; i++) {
cin >> u >> v;
g[u][v]++;
g[v][u]++;
d[u]++;
d[v]++;
if (minn = -1)
minn = u;
maxx = max(maxx, max(u, v));
minn = min(minn, min(u, v));
}
for (int i = 1; i <= maxx; i++) {
if (d[i] % 2 == 1) {
st = i;
break;
}
}
if (st == -1) {
st == minn;
}
dfs(st, 1);
for (int i = 1; i <= n + 1; i++)
cout << ans[i] << endl;
return 0;
}