#include <bits/stdc++.h>
using namespace std;
const int oo = 1e9;
int n;
int Next[1000009];
int Pre[1000009];
vector<int> element;
void init() {
  cin >> n;
  for (int i = 0; i <= 1000003; i++) Next[i] = Pre[i] = oo;
  for (int i = 1; i <= n; i++) {
    int a, b;
    cin >> a >> b;
    Pre[b] = a;
    Next[a] = b;
    element.push_back(a);
    element.push_back(b);
  }
}
void solve_even() {
  vector<int> odd;
  vector<int> even;
  int cur = Next[0];
  while (cur != oo) {
    even.push_back(cur);
    cur = Next[cur];
  }
  cur = Pre[0];
  while (cur != oo) {
    odd.push_back(cur);
    cur = Pre[cur];
  }
  reverse(odd.begin(), odd.end());
  int curodd = 0;
  int cureven = 0;
  for (int i = 1; i <= n; i++) {
    if (i % 2 == 0) {
      cout << even[cureven] << " ";
      cureven++;
    } else {
      cout << odd[curodd] << " ";
      curodd++;
    }
  }
}
void solve_odd() {
  sort(element.begin(), element.end());
  element.erase(unique(element.begin(), element.end()), element.end());
  vector<int> odd;
  vector<int> even;
  int cur = Next[0];
  while (cur != 0) {
    even.push_back(cur);
    cur = Next[cur];
  }
  for (int i = 0; i < element.size(); i++)
    if (Pre[element[i]] == oo) cur = element[i];
  while (cur != oo) {
    odd.push_back(cur);
    cur = Next[cur];
  }
  int curodd = 0;
  int cureven = 0;
  for (int i = 1; i <= n; i++) {
    if (i % 2 == 0) {
      cout << even[cureven] << " ";
      cureven++;
    } else {
      cout << odd[curodd] << " ";
      curodd++;
    }
  }
}
int main() {
  init();
  if (n % 2 == 0)
    solve_even();
  else
    solve_odd();
}
