N,K=gets.split.map &:to_i
ps=gets.split.map &:to_i
cs=Array.new(N,1)
min_deq=Array.new(0)
max_deq=Array.new(0)
K.times do |i|
    if min_deq.empty?
        min_deq << i
    else
        until min_deq.empty?
            if ps[i] < ps[min_deq[-1]]
                min_deq.pop
            else
                break
            end
        end
        min_deq << i
    end
end

K.times do |i|
    if max_deq.empty?
        max_deq << i
    else
        until max_deq.empty?
            if ps[i] > ps[max_deq[-1]]
                max_deq.pop
            else
                break
            end
        end
        max_deq << i
    end
end

(N-K).times do |i|
    until min_deq.empty?
        if ps[i+K] <= ps[min_deq[-1]]
            min_deq.pop
        else
            break
        end
    end
    min_deq << i+K
    until max_deq.empty?
        if ps[i+K] >= ps[max_deq[-1]]
            max_deq.pop
        else
            break
        end
    end
    max_deq << i+K
    p min_deq + ["#"] + max_deq
    cs[i+K]=cs[i+K-1]+1
    cs[i+K]-=1 if ps[i]==ps[min_deq[0]] && ps[i+K]==ps[max_deq[0]]
    min_deq.shift if min_deq[0]==i
    max_deq.shift if max_deq[0]==i
end
cnt=cs[-1]
p cnt
cnt_up=1
cnt_k=-1
for i in 1..N-1
    if ps[i-1] < ps[i]
        cnt_up+=1
    else
        cnt_up=1
    end
    # p cnt_up
    if K==cnt_up
        cnt_k+=1
        cnt_up=1
    end
end
p [cnt-(cnt_k<0 ? 0 : cnt_k),1].max
