#include <bits/stdc++.h>
using namespace std;
int n,k;
set<int> st;
vector< vector<int> > c(100010);
int main(){
cin >> n >> k;
vector<int> p(n);
vector<int> ans(n,-1);
for(int i = 1;i <= n;i++) cin >> p[i];
for(int i = 1;i <= n;i++){
auto itr = st.lower_bound(p[i]);
if(itr == st.end()){
c[p[i]].push_back(p[i]);
st.insert(p[i]);
}else{
int x = *itr;
c[x].push_back(p[i]);
swap(c[x],c[p[i]]);
st.erase(itr);
st.insert(p[i]);
}
if(c[p[i]].size() >= k){
for(auto l : c[p[i]]) ans[l] = i;
c[p[i]].clear();
st.erase(p[i]);
}
}
for(int i = 1;i <= n;i++){
cout << ans[i] << endl;
}
return 0;
}