# Stone

Time Limit: 3000/2000 MS (Java/Others)

Memory Limit: 65768/65768 K (Java/Others)

## Description

Given an array of integers {xi}. Each time you can apply one of the following operations to the array:
1. Choose an integer x from the array, replace it with x+1.
2. Add a new integer 1 to the array.

Define p as the product of all integers in the set. i.e. p=x1*x2*x3*...
What's the maximum possible value of p after exactly M operations?

## Input

First line is a integer T (T ≤ 100), the number of test cases.
The first line of each test case contains two integers N and M, the number of integers in the initial set, and the number of operations.
The second line is N integers xi initially in the set.
1 ≤ N ≤ 100000
0 ≤ M ≤ 10^18
-10000 ≤ xi ≤ 10000

## Output

For each case, you should output “Case k: ” first, where k indicates the case number and counts from one. Then the maximum product mod 1000000007.

## Sample Input

4
1 1
5
3 2
1 2 3
3 2
-1 2 3
3 1
-3 -3 -3

## Sample Output

Case 1: 6
Case 2: 18
Case 3: 6
Case 4: -18

lcy

## Source

The 36th ACM/ICPC Asia Regional Chengdu Sit