# 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)



京公网安备 11010502036488号