#include <iostream>
using namespace std;

struct listNode {
    int val;
    listNode* next;
    listNode(int v):val(v),next(nullptr){};
    listNode():val(-1),next(nullptr){};
};

void insertNode(listNode* head, int first, int second){
    listNode* curr = head;
    while(curr){
        if(curr->val == second){
            if(curr->next == nullptr){
                curr->next = new listNode(first);
            } else {
                listNode* node = curr;
                curr = curr->next;
                node->next = new listNode(first);
                node = node->next;
                node->next = curr;
            }
            return;
        }
        curr = curr->next;
    }
}

void deleteNode(listNode* dummy, int val){
    listNode* curr = dummy->next;
    listNode* prev = dummy;
    while(curr && curr->val != val){
        prev = curr;
        curr = curr->next;
    }
    if(curr->next){
        curr = curr->next;
        prev->next = curr;
    } else {
        prev->next = nullptr;
    }
}

int main() {
    int n, v, d;
    auto dummy = new listNode(-1);
    cin >> n >> v;
    dummy->next = new listNode(v);
    for(int i = 0; i < n - 1; i++){
        int first, second;
        cin >> first >> second;
        insertNode(dummy->next,first, second);
    }
    cin >> d;
    deleteNode(dummy, d);
    listNode* head = dummy->next;
    while(head){
        cout << head->val << " ";
        head = head->next;
    }
    return 0;
}
// 64 位输出请用 printf("%lld")