class Node:
    __slots__ = ("val", "pre", "next")

    def __init__(self, val: str):
        self.val: str = val
        self.pre: "Node" = None
        self.next: "Node" = None


def insert_before(target: Node, node: Node):
    # 删除node
    node.pre.next = node.next
    node.next.pre = node.pre

    # 插入到target前面
    node.pre = target.pre
    node.next = target
    target.pre.next = node
    target.pre = node


def main():
    n, m = list(map(int, input().split()))
    names = input().split()

    head = Node(None)
    tail = Node(None)
    head.next = tail
    tail.pre = head
    dic = {}
    cur = head

    # 构建链表
    for name in names:
        node = Node(name)
        dic[name] = node
        cur.next = node
        node.pre = cur
        cur = node
    cur.next = tail
    tail.pre = cur

    # 依次处理各个插队事件
    for _ in range(m):
        a, b = input().split()
        anode, bnode = dic[a], dic[b]
        if anode.next == bnode:
            continue
        else:
            insert_before(bnode, anode)

    result = []
    cur = head.next
    while cur != tail:
        result.append(cur.val)
        cur = cur.next
    print(" ".join(result))


if __name__ == "__main__":
    main()