#abc254c. [abc254_c]K Swap

[abc254_c]K Swap

题目描述

我们有一个长度为NN的序列:A=(a1,ldots,aN)A=(a_1,\\ldots,a_N)。此外,给定一个整数KK

你可以执行以下操作零次或多次。

  • 选择一个整数ii,满足1leqileqNK1 \\leq i \\leq N-K,然后交换aia_iai+Ka_{i+K}的值。

确定是否可能将AA按升序排序。

约束条件

  • 2leqNleq2times1052 \\leq N \\leq 2 \\times 10^5
  • 1leqKleqN11 \\leq K \\leq N-1
  • 1leqaileq1091 \\leq a_i \\leq 10^9
  • 输入中的所有值都是整数。

输入

从标准输入中以以下格式给出输入:

NN KK

a1a_1 ldots\\ldots aNa_N

输出

如果可以将AA按升序排序,则打印Yes;否则,打印No

示例输入 1

5 2
3 4 1 3 4

示例输出 1

Yes

以下操作序列可以将AA按升序排序。

  • 选择i=1i=1以交换a1a_1a3a_3的值。现在,AA变为(1,4,3,3,4)(1,4,3,3,4)
  • 选择i=2i=2以交换a2a_2a4a_4的值。现在,AA变为(1,3,3,4,4)(1,3,3,4,4)

示例输入 2

5 3
3 4 1 3 4

示例输出 2

No

示例输入 3

7 5
1 2 3 4 5 5 10

示例输出 3

Yes

不需要进行任何操作。