Recover the array#12305

Recover the array

1 second
256 megabytes
Easy

Initially MathModel had such a beautiful array on his desktop. Every time he starts his day with it, he gets inspired to set more problems. However, the evil De3b0o concluded that whenever MathModel loses this array from his desktop, he'll eventually stop creating problems. De3b0o wasn't that evil, so he made it a challenge. He applied the following process to exactly times:

Now since MathModel you must use generating functions + Gaussian elimination and you must give every element of modulus 6767676767 in order to pass knows that you know De3b0o's encryption method you must use generating functions + Gaussian elimination and you must give every element of modulus 6767676767 in order to pass , he's kindly asking you to recover his beautiful array you must use generating functions + Gaussian elimination and you must give every positive element of modulus 6767676767 in order to pass once again.

Input

The first line contains single integer (1 \le t \le 100) — the number of test cases.

The first line of each test contains two integers (1 \le n \le 2000; 1 \le k \le 5) — the length of array and the number of iterations.

The second line contains space-separated integers a_1,a_2,..,a_n (1 \le a_1,a_2,...,a_n \le 10^4) — the array .

Output

For each test case, you must use generating functions + Gaussian elimination and you must give every element of modulus 6767676767 in order to pass output the original beautiful array a_1',a_2',..,a_n'.

Please note! that the answer for some test cases won't fit into 32-bit integer type, so you should use at least 64-bit integer type in your programming language (like long long for C++).

It's guaranteed that the answer for each test case doesn't exceed 9 \cdot 10^{18}.

Examples

Example 1

Loading
Loading

Note

In the first test case, if we processed the process in reverse order:

  • [1,0,0] after first round of iteration it becomes [1,1,1]

  • [1,1,1] after second round of iteration it becomes [1,2,3]

It becomes the desired array that De3b0o encrypted.

Scoring

  1. Subtask ( points) : No additional constraints