import java.util.Scanner;
import java.util.Scanner;
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int numberOfNodes = scanner.nextInt();
Node firstNode = new Node(scanner.nextInt(), null);
int curE = 0;
int preE = 0;
int count = 0;
for (int i = 0; i < (numberOfNodes - 1); i++) {
curE = scanner.nextInt();
preE = scanner.nextInt();
Node newNode = new Node(curE, null);
if (count == 0) {
// System.out.println(newNode+"即将插入_"+i);
// System.out.println(newNode+"插入成功");
count++;
firstNode.setNext(newNode);
} else {
// System.out.println(newNode+"即将插入_"+i);
Node temp = firstNode;
while (temp != null) {
if (temp.getE() == preE) {
newNode.setNext(temp.getNext());
temp.setNext(newNode);
/*System.out.println("两值相同进行插入 "+temp.getE()+" "+preE+" while循环的结束条件"+temp.getNext());
System.out.println(newNode+"插入成功"+" "+i);*/
break;
}
temp = temp.getNext();
}
}
}
//记录要删除的节点
int k = scanner.nextInt();
// System.out.println("要删除的节点" + k);
Node temp1 = firstNode;
Node oldNode = firstNode;
while (temp1 != null) {
// System.out.println(temp1.getE());
if (temp1.getE() == k) {
/*System.out.println(oldNode);
System.out.println(temp1);*/
oldNode.setNext(temp1.getNext());
temp1.setNext(null);
}
oldNode = temp1;
temp1 = temp1.getNext();
}
//遍历输出链表
Node temp2 = firstNode;
while (temp2 != null) {
System.out.print(temp2.getE() + " ");
temp2 = temp2.getNext();
}
}
}
class Node {
private int e;
private Node next;
public Node(int e, Node node) {
this.e = e;
this.next = node;
}
public int getE() {
return e;
}
public void setE(int e) {
this.e = e;
}
public Node getNext() {
return next;
}
public void setNext(Node next) {
this.next = next;
}
@Override
public String toString() {
return "Node{" +
"e=" + e +
", next=" + next +
'}';
}
}