#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")