#include <iostream>
using namespace std;
const long long N = 1e7*3;
long long s[N];
long long q[N];
long long hh=0,tt=-1;
void handler(long long * s,int length,int k){
for(int i=0;i<length;i++){
if(i-k>q[hh]) hh++;
long long anser = 1e7*3;
for(int j=hh;j<=tt;j++) {
anser = min(anser,s[q[j]]);
}
q[++tt] = i;
cout << (anser==1e7*3?0:anser) << endl;
}
}
int main(){
int n,k;
cin>>n>>k;
for(int i=0;i<n;i++) cin>>s[i];
handler(s,n,k);
return 0;
}