题目描述
给定一个关于 (1,2,…,N) 的排列 P=(P1,P2,…,PN)。
有 Q 次操作,对于 q=1,2,…,Q,你需要按顺序执行以下操作:
- 从排列 P 中移除值为 aq 的元素,并将其追加到排列 P 的末尾。
请找出在执行完这 Q 次操作后,排列 P 中各个元素的值。
输入格式
第一行包含两个正整数 N 和 Q —— 分别表示排列的长度和操作的次数。
第二行包含 N 个整数 P1,P2,…,PN —— 表示初始排列 P。
接下来 Q 行,每行包含一个整数 aq —— 表示第 q 次操作所指定移除的值。
输出格式
输出一行,包含 N 个整数,表示执行完 Q 次操作后的排列 P1,P2,…,PN,相邻两个整数之间用一个空格隔开。
样例输入 1
4 2
2 4 3 1
3
2
样例输出 1
4 1 3 2
样例输入 2
3 3
1 2 3
1
1
1
样例输出 2
2 3 1
样例输入 3
2 5
2 1
1
1
2
2
1
样例输出 3
2 1
说明
样例解释
在第一个样例中,初始时 P=(2,4,3,1)。
- 第一次操作(a1=3):从 P 中移除 3,并将其追加到末尾。操作后 P=(2,4,1,3)。
- 第二次操作(a2=2):从 P 中移除 2,并将其追加到末尾。操作后 P=(4,1,3,2)。
数据范围
- 对于所有测试点,保证 1≤N≤2×105。
- 对于所有测试点,保证 1≤Q≤2×105。
- 保证给定的 P 是一个关于 (1,2,…,N) 的排列。
- 保证 1≤aq≤N。
- 保证所有的输入数值均为整数。