#include<bits/stdc++.h>
using namespace std;
#define int long long
int f[100010][22],m,n,a[1000010],q,e;
int maax(int x,int y)
{
int len=(int)(log2(y-x+1));
return max(f[x][len],f[y-(1<<len)+1][len]);
}
signed main()
{
cin >> m >> n;
for(int i=1;i<=m;i++)
{
scanf("%lld",a+i);
}
for(int i=1;i<=m;i++)
{
f[i][0]=a[i];
}
for(int j=1;j<=20;j++)
{
for(int i=1;i<=m;i++)
{
if(i+(1<<j)-1<=m)
{
f[i][j]=max(f[i][j-1],f[i+(1<<j-1)][j-1]);
}
}
}
for(int i=1;i+n-1<=m;i++)
{
printf("%lld\n",maax(i,i+n-1));
}
return 0;
}