def queue_link(n):
# 解析输入字符串
parts = n.split()
total = int(parts[0]) # 链表中节点的总数
head_value = int(parts[1]) # 头节点的值
k = int(parts[-1]) # 需要删除的节点值
pairs = [(int(parts[i]), int(parts[i+1])) for i in range(2, len(parts)-1, 2)] # n-1 个二元组 (a, b)
# 构造链表
linked_list = [head_value] # 初始化链表,头节点
for a, b in pairs:
# 找到值为 b 的节点,并在其后插入值为 a 的节点
index = linked_list.index(b) # 找到值为 b 的节点的索引
linked_list.insert(index + 1, a) # 在其后插入新节点
# 删除值为 k 的节点
linked_list = [val for val in linked_list if val != k] # 列表推导式删除所有值为 k 的节点
# 将链表转换为字符串输出
return ' '.join(map(str, linked_list))
# 输入
n = input().strip()
# 调用函数并打印结果
print(queue_link(n))