#abc173e. [abc173_e]Multiplication 4

[abc173_e]Multiplication 4

题目描述

给定NN个整数A1,ldots,ANA_1,\\ldots,A_N

我们将从中选择恰好KK个元素。找出所选元素的最大可能乘积。

然后,使用介于00109+610^9+6之间(包括边界)的整数打印模(109+7)(10^9+7)的最大乘积。

约束条件

  • 1KN2×1051 \leq K \leq N \leq 2\times 10^5
  • Ai109|A_i| \leq 10^9

输入

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

NN KK
A1A_1 ldots\\ldots ANA_N

输出

使用介于00109+610^9+6之间(包括边界)的整数打印模(109+7)(10^9+7)的最大乘积。


示例输入1

4 2
1 2 -3 -4

示例输出1

12

所选择的两个元素可能的乘积为223-34-46-68-81212,因此最大乘积是1212


示例输入2

4 3
-1 -2 -3 -4

示例输出2

1000000001

所选择的三个元素可能的乘积为24-2412-128-86-6,因此最大乘积是6-6

我们打印该值对(109+7)(10^9+7)取模,即10000000011000000001


示例输入3

2 1
-1 1000000000

示例输出3

1000000000

所选择的一个元素可能的乘积为1-110000000001000000000,因此最大乘积是10000000001000000000


示例输入4

10 10
1000000000 100000000 10000000 1000000 100000 10000 1000 100 10 1

示例输出4

999983200

请确保打印出的乘积对(109+7)(10^9+7)取模。