#include<bits/stdc++.h>
using namespace std;
int next[100005][64];
int li[100005],lg[100005];
int n,m,k;
void jump(int i,int m){
int tmp=i;
while(m>1){
int l=lg[m];
tmp=next[tmp][l];
m-=l;
}
if(m)tmp=next[tmp][1];
cout<<tmp<<" ";
}
int main(){
cin>>n>>k>>m;
for(int i=1;i<=n;i++)cin>>li[i];
for(int i=1;i<=n;i++)next[i][0]=1;
lg[1]=0;
for(int i=2;i<=n;i++)lg[i]=lg[i/2]+1;
int l=1,r=k+1;
for(int i=1;i<=n;i++){
while(r+1<=n&&li[r+1]-li[i]<li[i]-li[l])l++,r++;
if(li[r+1]-li[i]>li[i]-li[l])next[i][1]=r;
else next[i][1]=l;
}
for(int i=2;i<=64;i++){
for(int j=1;j<=n;j++)next[j][i]=next[next[j][i-1]][i-1];
}
for(int i=1;i<=n;i++)jump(i,m);
}