#include<bits/stdc++.h>
using namespace std;int n,m;int a[2000010],dp[2000010];
inline int read(){
int x=0,f=1;
char ch;
ch=getchar();
if(ch<'0'||ch>'9')if(ch=='-')f=-1,ch=getchar();
while(ch>='0'&&ch<='9')x=x*10+ch-'0',ch=getchar();
return x*f;
}
inline void p(int x){
if(x>9)p(x/10);
putchar(x%10+'0');
}
int main(){
n=read();m=read();
int head=1,tail=0;
p(0);cout<<'\n';
for(int i=1;i<=n;i++){
a[i]=read();
while(head<=tail&&i-dp[head]>=m)head++;
while(head<=tail&&a[dp[tail]]>=a[i])tail--;
tail++;
dp[tail]=i;
if(i!=n)p(a[dp[head]]),cout<<'\n';
}
}