#include <bits/stdc++.h>
using namespace std;
map<int, int> s1;
map<int, int> s2;
int ans[200100];
int tmp[200100];
int main() {
  int t;
  scanf("%d", &t);
  int n = t;
  int l = 0;
  while (t--) {
    int x, y;
    scanf("%d%d", &x, &y);
    if (x == 0)
      ans[1] = y;
    else if (y == 0)
      ans[n - 2] = x;
    else {
    }
    tmp[l++] = x;
    s1[x] = y;
    s2[y] = x;
  }
  if (n % 2) {
    int h;
    for (h = 0; h < n; h++) {
      if (!s2.count(tmp[h])) break;
    }
    ans[0] = tmp[h];
    int p = 0;
    while (p < n) {
      ans[p + 2] = s1[ans[p]];
      p += 2;
    }
    int q = 1;
    while (q < n) {
      ans[q + 2] = s1[ans[q]];
      q += 2;
    }
  } else {
    int i = 1;
    while (i < n) {
      ans[i + 2] = s1[ans[i]];
      i += 2;
    }
    int k = n - 2;
    while (k >= 0) {
      ans[k - 2] = s2[ans[k]];
      k -= 2;
    }
  }
  for (int j = 0; j < n - 1; j++) printf("%d ", ans[j]);
  printf("%d", ans[n - 1]);
  return 0;
}
