# Process input
n, k = map(int, input().split())
ax = list(map(int, input().split()))

# Compute
maxVals = []
lastMax = 1e10
lastMaxI = -1
for i in range(0, n-k+1):
    if ax[i+k-1] > lastMax:
        curMaxI = i+k-1
        curMax = ax[curMaxI]
    elif lastMaxI >= i:
        curMaxI = lastMaxI
        curMax = lastMax
    else:
        curMaxI = -1
        curMax = 0
        for j in range(i, i+k):
            val = ax[j]
            if val >= curMax:
                curMax = val
                curMaxI = j
    maxVals.append(curMax)
    lastMax = curMax
    lastMaxI = curMaxI

# Output
print(*maxVals)