#include<iostream>
#include<cstdio>
#include<algorithm>
#include<queue>
using namespace std;
long long a[100010],b1[100010],b2[100010];
queue<int> q;
queue<int> q1;
int main(){
int n,k;
cin >> n >> k;
for(int i=1;i<=n;i++)
{
cin >> a[i];
while(!q.empty())
{
int t=q.front();
if(t<k-i+1)
{
q.pop();
}
else
{
break;
}
}
if(q.empty())
{
q.push(i);
}
int v=q.back();
v=a[v];
if(a[i]>v)
{
q.push(i);
}
else
{
while(!q.empty())
{
q.pop();
}
q.push(i);
}
b1[i]=q.front();
}
for(int i=1;i<=n;i++)
{
while(!q1.empty())
{
int t=q1.front();
if(t<k-i+1)
{
q1.pop();
}
else
{
break;
}
}
if(q1.empty())
{
q1.push(i);
}
int v=q.back();
v=a[v];
if(a[i]<v)
{
q1.push(i);
}
else
{
while(!q.empty())
{
q1.pop();
}
q1.push(i);
}
b2[i]=q1.front();
}
for(int i=1;i<=n-k+1;i++)
{
cout << b1[i] << " ";
}
for(int i=1;i<=n-k+1;i++)
{
cout << b2[i] << " ";
}
return 0;
}