记录
#include<bits/stdc++.h>
using namespace std;
int read(){
int ans=0,zf=1;
char c=getchar_unlocked();
while(c<'0'||c>'9'){
if(c=='-')zf=-1;
c=getchar_unlocked();
}
while(c>='0'&&c<='9'){
ans=ans*10+c-'0';
c=getchar_unlocked();
}
return ans*zf;
}
void write(int num){
if(num<0){
putchar_unlocked('-');
num=-num;
}
if(num<10){
putchar_unlocked(num+'0');
return;
}
write(num/10);
putchar_unlocked(num%10+'0');
}
int a[2000005];
int main(){
int n,m;
n=read();m=read();
for(int i=1;i<=n;i++){
a[i]=read();
}
putchar_unlocked('0');
putchar_unlocked('\n');
deque<int>q;
for(int i=2;i<=n;i++){
while(q.size()&&q.front()<i-m)q.pop_front();
while(q.size()&&a[q.back()]<a[i-1])q.pop_back();
q.push_back(i-1);
write(a[q.front()]);
putchar_unlocked('\n');
}
return 0;
}