#include <bits/stdc++.h>
using namespace std;
template <class T>
void print_array(T a[], int size) {
  for (int i = 0; i < size; i++) cout << a[i] << " ";
  cout << endl;
}
template <class T>
void print_array_v(T &a) {
  int size = a.size();
  for (int i = 0; i < size; i++) cout << a[i] << " ";
  cout << endl;
}
map<long long int, long long int> arr;
pair<long long int, long long int> a[100005];
map<long long int, vector<long long int> > e;
set<long long int> flag;
int main() {
  long long int n, i, val, j;
  cin >> n;
  for (i = 0; i < n; i++) {
    cin >> a[i].first >> a[i].second;
    arr[a[i].first]++;
    arr[a[i].second]++;
    e[a[i].first].push_back(a[i].second);
    e[a[i].second].push_back(a[i].first);
  }
  for (auto ii : arr) {
    if (ii.second == 1) {
      val = ii.first;
      break;
    }
  }
  cout << val << " ";
  flag.insert(val);
  for (i = 1; i <= n; i++) {
    for (j = 0; j < e[val].size(); j++) {
      if (flag.find(e[val][j]) == flag.end()) {
        cout << e[val][j] << " ";
        flag.insert(e[val][j]);
        val = e[val][j];
        break;
      }
    }
  }
  return 0;
}
