atcoder#ABC173E. [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

  • 1KN2×1051 \leq K \leq N \leq 2\times 10^5
  • Ai109|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).