n, m = map(int, input().split())
ls = input().split()
# 维护前后关系,双向链表结构
prev = {}
next = {}
for i in range(n):
if i > 0:
prev[ls[i]] = ls[i - 1]
else:
prev[ls[i]] = None
if i < n - 1:
next[ls[i]] = ls[i + 1]
else:
next[ls[i]] = None
head = ls[0]
for _ in range(m):
a, b = input().split()
if a == b:
continue
# 移除 a
pre_a, nex_a = prev[a], next[a]
if pre_a:
next[pre_a] = nex_a
else:
head = nex_a
if nex_a:
prev[nex_a] = pre_a
# 插入 a 到 b 前面
pre_b = prev[b]
if pre_b:
next[pre_b] = a
else:
head = a
prev[a] = pre_b
next[a] = b
prev[b] = a
# 从头输出
res = []
cur = head
while cur:
res.append(cur)
cur = next[cur]
print(*res)