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 +
               '}';
    }
}