#include<bits/stdc++.h>
#define f1(i, n) for(ll i=1;i<=n;++i)
#define f0(i, n) for(ll i=0;i<n;++i)
#define ull unsigned long long
#define ll long long
#define rev(a) reverse(a.begin(),a.end())
#define all(x) x.begin(),x.end()
#define so(A, n) sort(A+1, A+n+1)
using namespace std;
const int maxn = 200010;
const int N = 2e5 + 5;
void bai1() {
ll n;
cin >> n;
cout << (3 + (2 * n + 1)) * n / 2;
}
void bai3() {
int n;
cin >> n;
int A[n + 5];
f1(i, n) {
cin >> A[i];
}
int i = 1, j = 1, res = 0;
bool status = true;
while (j <= n) {
if (A[j] > 0) {
if (!status) {
i = j;
status = true;
}
else {
res = max(res, j - i + 1);
}
}
else if (A[j] < 0) {
if (status) {
i = j;
status = false;
}
else {
res = max(res, j - i + 1);
}
}
else {
++j;
i = j;
if (A[i] < 0) status = false;
else status = true;
}
++j;
}
cout << res;
}
map<int, int> Left, Right;
int res[N];
pair<int, int> A[N];
void XepHang() {
int n;
cin >> n;
f1(i, n) {
cin >> A[i].first >> A[i].second;
Right[A[i].first] = A[i].second;
Left[A[i].second] = A[i].first;
}
sort(A + 1, A + n + 1);
int missLeft = 0, missRight = 0;
map<int, int> check;
f1(i, n) {
check[A[i].first] = 1;
}
f1(i, n) {
if (check[i] == 0) missLeft = i;
}
check.clear();
f1(i, n) {
check[A[i].second] = 1;
}
f1(i, n) {
if (check[i] == 0) missRight = i;
}
if (Left[missLeft] != 0) {
res[n] = missLeft;
res[1] = missRight;
}
else {
if (Right[missRight] == 0) {
res[n] = missRight;
res[1] = missLeft;
}
else {
res[1] = missRight;
res[n] = missLeft;
}
}
// cout << res[1] << " " << res[n];
f1(i, n) {
if (A[i].first == 0) {
res[2] = A[i].second;
}
if (A[i].second == 0) {
res[n - 1] = A[i].first;
}
}
for (int i = 3; i <= n - 2; ++i) {
if (res[i] == 0) {
if (Right[res[i - 2]] != 0) res[i] = Right[res[i - 2]];
else if (res[i + 2] != 0 && Left[res[i + 2]] != 0) res[i] = Left[res[i + 2]];
}
}
f1(i, n) {
cout << res[i] << " ";
}
}
int main()
{
ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
XepHang();
return 0;
}
//[3, 1, 7, 5, 2, 6, 4]
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KI2RlZmluZSBmMShpLCBuKSBmb3IobGwgaT0xO2k8PW47KytpKQojZGVmaW5lIGYwKGksIG4pIGZvcihsbCBpPTA7aTxuOysraSkKI2RlZmluZSB1bGwgdW5zaWduZWQgbG9uZyBsb25nCiNkZWZpbmUgbGwgbG9uZyBsb25nCiNkZWZpbmUgcmV2KGEpIHJldmVyc2UoYS5iZWdpbigpLGEuZW5kKCkpCiNkZWZpbmUgYWxsKHgpIHguYmVnaW4oKSx4LmVuZCgpCiNkZWZpbmUgc28oQSwgbikgc29ydChBKzEsIEErbisxKQp1c2luZyBuYW1lc3BhY2Ugc3RkOwpjb25zdCBpbnQgbWF4biA9IDIwMDAxMDsKY29uc3QgaW50IE4gPSAyZTUgKyA1Owp2b2lkIGJhaTEoKSB7CglsbCBuOwoJY2luID4+IG47Cgljb3V0IDw8ICgzICsgKDIgKiBuICsgMSkpICogbiAvIDI7Cn0Kdm9pZCBiYWkzKCkgewoJaW50IG47CgljaW4gPj4gbjsKCWludCBBW24gKyA1XTsKCWYxKGksIG4pIHsKCQljaW4gPj4gQVtpXTsKCX0KCWludCBpID0gMSwgaiA9IDEsIHJlcyA9IDA7Cglib29sIHN0YXR1cyA9IHRydWU7Cgl3aGlsZSAoaiA8PSBuKSB7CgkJaWYgKEFbal0gPiAwKSB7CgkJCWlmICghc3RhdHVzKSB7CgkJCQlpID0gajsKCQkJCXN0YXR1cyA9IHRydWU7CgkJCX0KCQkJZWxzZSB7CgkJCQlyZXMgPSBtYXgocmVzLCBqIC0gaSArIDEpOwoJCQl9CgkJfQoJCWVsc2UgaWYgKEFbal0gPCAwKSB7CgkJCWlmIChzdGF0dXMpIHsKCQkJCWkgPSBqOwoJCQkJc3RhdHVzID0gZmFsc2U7CgkJCX0KCQkJZWxzZSB7CgkJCQlyZXMgPSBtYXgocmVzLCBqIC0gaSArIDEpOwoJCQl9CgkJfQoJCWVsc2UgewoJCQkrK2o7CgkJCWkgPSBqOwoJCQlpZiAoQVtpXSA8IDApIHN0YXR1cyA9IGZhbHNlOwoJCQllbHNlIHN0YXR1cyA9IHRydWU7CgkJfQoJCSsrajsKCX0KCWNvdXQgPDwgcmVzOwp9Cm1hcDxpbnQsIGludD4gTGVmdCwgUmlnaHQ7CmludCByZXNbTl07CnBhaXI8aW50LCBpbnQ+IEFbTl07CnZvaWQgWGVwSGFuZygpIHsKCWludCBuOwoJY2luID4+IG47CglmMShpLCBuKSB7CgkJY2luID4+IEFbaV0uZmlyc3QgPj4gQVtpXS5zZWNvbmQ7CgkJUmlnaHRbQVtpXS5maXJzdF0gPSBBW2ldLnNlY29uZDsKCQlMZWZ0W0FbaV0uc2Vjb25kXSA9IEFbaV0uZmlyc3Q7Cgl9Cglzb3J0KEEgKyAxLCBBICsgbiArIDEpOwoJaW50IG1pc3NMZWZ0ID0gMCwgbWlzc1JpZ2h0ID0gMDsKCW1hcDxpbnQsIGludD4gY2hlY2s7CglmMShpLCBuKSB7CgkJY2hlY2tbQVtpXS5maXJzdF0gPSAxOwoJfQoJZjEoaSwgbikgewoJCWlmIChjaGVja1tpXSA9PSAwKSBtaXNzTGVmdCA9IGk7Cgl9CgljaGVjay5jbGVhcigpOwoJZjEoaSwgbikgewoJCWNoZWNrW0FbaV0uc2Vjb25kXSA9IDE7Cgl9CglmMShpLCBuKSB7CgkJaWYgKGNoZWNrW2ldID09IDApIG1pc3NSaWdodCA9IGk7Cgl9CglpZiAoTGVmdFttaXNzTGVmdF0gIT0gMCkgewoJCXJlc1tuXSA9IG1pc3NMZWZ0OwoJCXJlc1sxXSA9IG1pc3NSaWdodDsKCX0KCWVsc2UgewoJCWlmIChSaWdodFttaXNzUmlnaHRdID09IDApIHsKCQkJcmVzW25dID0gbWlzc1JpZ2h0OwoJCQlyZXNbMV0gPSBtaXNzTGVmdDsKCQl9CgkJZWxzZSB7CgkJCXJlc1sxXSA9IG1pc3NSaWdodDsKCQkJcmVzW25dID0gbWlzc0xlZnQ7CgkJfQoJfQoKCS8vIGNvdXQgPDwgcmVzWzFdIDw8ICIgIiA8PCByZXNbbl07CgoJZjEoaSwgbikgewoJCWlmIChBW2ldLmZpcnN0ID09IDApIHsKCQkJcmVzWzJdID0gQVtpXS5zZWNvbmQ7CgkJfQoJCWlmIChBW2ldLnNlY29uZCA9PSAwKSB7CgkJCXJlc1tuIC0gMV0gPSBBW2ldLmZpcnN0OwoJCX0KCX0KCglmb3IgKGludCBpID0gMzsgaSA8PSBuIC0gMjsgKytpKSB7CgkJaWYgKHJlc1tpXSA9PSAwKSB7CgkJCWlmIChSaWdodFtyZXNbaSAtIDJdXSAhPSAwKSByZXNbaV0gPSBSaWdodFtyZXNbaSAtIDJdXTsKCQkJZWxzZSBpZiAocmVzW2kgKyAyXSAhPSAwICYmIExlZnRbcmVzW2kgKyAyXV0gIT0gMCkgcmVzW2ldID0gTGVmdFtyZXNbaSArIDJdXTsKCQl9Cgl9CglmMShpLCBuKSB7CgkJY291dCA8PCByZXNbaV0gPDwgIiAiOwoJfQp9CmludCBtYWluKCkKewoJaW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbygwKTsgY2luLnRpZSgwKTsgY291dC50aWUoMCk7CglYZXBIYW5nKCk7CgkJcmV0dXJuIDA7Cn0KCi8vWzMsIDEsIDcsIDUsIDIsIDYsIDRdCg==