#agc038b. [agc038_b]Sorting a Segment

[agc038_b]Sorting a Segment

题目描述

Snuke 有一个排列 (P0,P1,cdots,PN1)(P_0,P_1,\\cdots,P_{N-1}) ,其中 PP(0,1,cdots,N1)(0,1,\\cdots,N-1) 的一个排列。

现在,他将执行以下操作仅一次

  • 选择 PP 中的 KK 个连续元素,并按升序进行排序。

找出在进行操作后可以得到的排列 PP 的数量。

约束条件

  • 2leqNleq2000002 \\leq N \\leq 200000
  • 2leqKleqN2 \\leq K \\leq N
  • 0leqPileqN10 \\leq P_i \\leq N-1
  • P0,P1,cdots,PN1P_0,P_1,\\cdots,P_{N-1} 互不相同。
  • 输入中的所有值均为整数。

输入

输入通过标准输入给出,格式如下:

NN KK P0P_0 P1P_1 cdots\\cdots PN1P_{N-1}

输出

打印在进行操作后可以得到的排列 PP 的数量。


示例输入 1

5 3
0 2 1 4 3

示例输出 1

2

可以得到两种排列:(0,1,2,4,3)(0,1,2,4,3)(0,2,1,3,4)(0,2,1,3,4)


示例输入 2

4 4
0 1 2 3

示例输出 2

1

示例输入 3

10 4
2 0 1 3 7 5 4 6 8 9

示例输出 3

6