#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main() {
int n, m;
cin >> n >> m;
// 初始化原始队列
vector<int> origin_queue(n + 1);
for (int i = 1; i <= n; ++i) {
origin_queue[i] = i;
}
// dp数组用于记录每个位置最终的元素,初始化为原始队列
vector<int> dp = origin_queue;
// 读取指令
vector<int> instructions(m);
for (int i = 0; i < m; ++i) {
cin >> instructions[i];
}
// 动态规划处理指令
for (int i = 0; i < m; ++i) {
int target = instructions[i];
// 记录当前元素在dp数组中的位置
int pos = 0;
for (int j = 1; j <= n; ++j) {
if (dp[j] == target) {
pos = j;
break;
}
}
// 将目标元素移到最前面,更新dp数组
for (int k = pos; k > 1; --k) {
swap(dp[k], dp[k - 1]);
}
}
// 输出最终队列
for (int i = 1; i <= n; ++i) {
cout << dp[i];
if (i < n) {
cout << " ";
}
}
cout << endl;
return 0;
}
/**************************************************************
Problem: 1527
User: zengdongxin
Language: C
Result: Compile Error
****************************************************************/