#include <iostream>
#include <list>
#include <unordered_map>
using namespace std;

int main() {
    int n, m;
    cin >> n >> m;
    // 使用链表来存储队列元素,方便移动元素到最前面
    list<int> queueList;
    for (int i = 1; i <= n; ++i) {
        queueList.push_back(i);
    }
    // 使用哈希表记录每个元素在链表中的位置迭代器,方便快速查找和移动
    unordered_map<int, list<int>::iterator> posMap;
    for (auto it = queueList.begin(); it!= queueList.end(); ++it) {
        posMap[*it] = it;
    }

    for (int i = 0; i < m; ++i) {
        int x;
        cin >> x;
        // 获取要移到最前面的元素在链表中的位置迭代器
        auto it = posMap[x];
        // 将该元素从当前位置移除
        queueList.erase(it);
        // 将该元素插入到链表头部
        queueList.push_front(x);
        // 更新哈希表中该元素的位置迭代器
        posMap[x] = queueList.begin();
    }

    for (int num : queueList) {
        cout << num << " ";
    }
    cout << endl;
    return 0;
}
/**************************************************************
	Problem: 1527
	User: zhuangsongyu
	Language: C++
	Result: Accepted
	Time:414 ms
	Memory:9056 kb
****************************************************************/