Product

Robocontest Round 52 · R052B time 1 s · memory 32 MB original (uzbek) ↗ solve ↗

You are given an array \(a\) of length \(n\). The beauty of the array is the product of its elements. In one operation, you may increase the value of any element of the array. After at most \(k\) operations, find the largest achievable beauty, modulo \(10^9+7\).

Input

The first line contains two integers \(n\) and \(k\) (\(1 \le n, k \le 100\)).
The next line contains \(n\) integers \(a_1, a_2, \dots, a_n\) (\(1 \le a_i \le 100\)).

Output

Print a single line – the answer to the problem modulo \(10^9+7\).

Example

input
3 1
2 5 2
output
30

Note

If we increase \(a_1\), the product becomes \(2 \times 5 \times 3 = 30\). It can be seen that no answer greater than 30 is achievable.