#AT1387. [ABC173E] Multiplication 4

[ABC173E] Multiplication 4

Score : 500500 points

Problem Statement

Given are NN integers A1,…,ANA_1,\ldots,A_N.

We will choose exactly KK of these elements. Find the maximum possible product of the chosen elements.

Then, print the maximum product modulo (109+7)(10^9+7), using an integer between 00 and 109+610^9+6 (inclusive).

Constraints

  • 1≤K≤N≤2×1051 \leq K \leq N \leq 2\times 10^5
  • ∣Ai∣≤109|A_i| \leq 10^9

Input

Input is given from Standard Input in the following format:

NN KK

A1A_1 …\ldots ANA_N

Output

Print the maximum product modulo (109+7)(10^9+7), using an integer between 00 and 109+610^9+6 (inclusive).

4 2
1 2 -3 -4
12

The possible products of the two chosen elements are 22, −3-3, −4-4, −6-6, −8-8, and 1212, so the maximum product is 1212.

4 3
-1 -2 -3 -4
1000000001

The possible products of the three chosen elements are −24-24, −12-12, −8-8, and −6-6, so the maximum product is −6-6.

We print this value modulo (109+7)(10^9+7), that is, 10000000011000000001.

2 1
-1 1000000000
1000000000

The possible products of the one chosen element are −1-1 and 10000000001000000000, so the maximum product is 10000000001000000000.

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

Be sure to print the product modulo (109+7)(10^9+7).