#include <iostream>
#include <queue>
#include <algorithm>
#include <vector>
using namespace std;
int main() {
int k ;
cin>>k;
int n;
cin>>n;
int A[n];
for(int i=0 ; i<n ; i++){
cin>>A[i];
}
vector<int> B;
//Min-Heap
priority_queue<int, vector<int>, greater<int>> minh;
for(int i=0 ; i<n; i++){
minh.push(A[i]);
if(minh.size()>k){
B.push_back(minh.top());
minh.pop();
}
}
for(int i=n-k ; i<n; i++){
B.push_back(minh.top());
minh.pop();
}
for(int i=0 ; i<n; i++){
cout<<B[i]<<" ";
}
}