#include <stdio.h>
#include <stdlib.h>
int main() {
int n, m, i, index;
scanf("%d", &n);
int *queue = (int *)malloc(n * sizeof(int)); // 分配内存给队伍数组
for (i = 0; i < n; i++) {
scanf("%d", &queue[i]); // 读取初始队伍状态
}
scanf("%d", &m); // 读取点名次数
int *called = (int *)malloc(m * sizeof(int)); // 分配内存给点名数组
for (i = 0; i < m; i++) {
scanf("%d", &called[i]); // 读取每次点名编号
}
for (i = 0; i < m; i++) {
int target = called[i]; // 当前被点名学生的编号
for (index = 0; index < n; index++) {
if (queue[index] == target) { // 找到被点名学生的位置
break;
}
}
// 将被点名学生移动到数组前面
for (int j = index; j > 0; j--) {
queue[j] = queue[j - 1]; // 后续学生向前移动一个位置
}
queue[0] = target; // 将被点名学生放到数组开头
}
// 输出最终队伍状态
for (i = 0; i < n - 1; i++) {
printf("%d ", queue[i]);
}
printf("%d\n", queue[n - 1]); // 注意最后一个数字后面没有空格
free(queue);
free(called);
return 0;
}