#include <iostream>
using namespace std;
const int MAXN = 100010; // 假设一个足够大的数组大小,可根据实际情况调整
int main() {
int n, m;
cin >> n >> m;
int a[MAXN]; // 用于存储队列元素,相当于模拟整个队列
int pos[MAXN]; // 记录每个元素当前在队列中的位置索引
// 初始化队列元素和位置索引
for (int i = 1; i <= n; i++) {
a[i] = i;
pos[i] = i;
}
// 处理每条指令
for (int i = 0; i < m; i++) {
int x;
cin >> x;
int curPos = pos[x];
// 将编号为x的元素移到最前面,通过交换元素位置来模拟
for (int j = curPos; j > 1; j--) {
swap(a[j], a[j - 1]);
swap(pos[a[j]], pos[a[j - 1]]);
}
}
// 输出最终的队列
for (int i = 1; i <= n; i++) {
cout << a[i] << " ";
}
cout << endl;
return 0;
}
/**************************************************************
Problem: 1527
User: zhuangsongyu
Language: C++
Result: Time Limit Exceed
****************************************************************/