#include<stdio.h>
#include<stdlib.h>

void solve()
{
    int n,k,i;
    if(scanf("%d",&n)!=1)return;
    int*num=(int*)malloc(n*sizeof(int));
    if(nums==NULL)return;
    
    for(i=0;i<n;i++)
    {
        if(scanf("%d",&nums[i]!=1))
        {
            free(nums);
            return;
        }
    }
    if(scanf("%d",&k)!=1)
    {
        free(nums);
        return;
    }
    if(n<=0||k<=0||k>n)
    {
        printf("Invalid input");
        free(nums);
        return;
    }
    int*dq=(int*)malloc(n*sizeof(int));
    int front=0,rear=-1;
    int*result=(int*)malloc((n-k+1)*sizeof(int));
    int res_i=0;
    for(i=0;i<n;i++)
    {
        while(front<=rear && nums[dq[rear]]<=nums[i])
        {
            rear--;
        }
        dq[++rear]=1;
        
        if(dq[front]==i-k)
        {
            front++;
        }
        if(i>k-1)
        {
            result[res_i++]=nums[dq[front]];
        }
    }
    for(i=0;i<n-k+1;i++)
    {
        printf("%d",result[i]);
    }
    printf("\n");
    
    free(nums);
    free(dq);
    free(result);
}

int main()
{
    solve();
    return 0;
}