There is a number *x* initially written on a blackboard. You repeat the following action a fixed amount of times: 
 1.  take the number *x* currently written on a blackboard and erase it 1.  select an integer uniformly at random from the range [0, *x*] inclusive, and write it on the blackboard 
Determine the distribution of final number given the distribution of initial number and the number of steps.
The first line contains two integers, *N* (1 ≤ *N* ≤ 10<sup class="upper-index">5</sup>) — the maximum number written on the blackboard — and *M* (0 ≤ *M* ≤ 10<sup class="upper-index">18</sup>) — the number of steps to perform.

The second line contains *N* + 1 integers *P*<sub class="lower-index">0</sub>, *P*<sub class="lower-index">1</sub>, ..., *P*<sub class="lower-index">*N*</sub> (0 ≤ *P*<sub class="lower-index">*i*</sub> &lt; 998244353), where *P*<sub class="lower-index">*i*</sub> describes the probability that the starting number is *i*. We can express this probability as irreducible fraction *P* / *Q*, then <img align="middle" class="tex-formula" src="https://espresso.codeforces.com/a86b64174e5f1a74431a9b4b5e2e810fecd7ce1e.png" style="max-width: 100.0%;max-height: 100.0%;"/>. It is guaranteed that the sum of all *P*<sub class="lower-index">*i*</sub>s equals 1 (modulo 998244353).
In the first case, we start with number 2. After one step, it will be 0, 1 or 2 with probability 1/3 each.

In the second case, the number will remain 2 with probability 1/9. With probability 1/9 it stays 2 in the first round and changes to 1 in the next, and with probability 1/6 changes to 1 in the first round and stays in the second. In all other cases the final integer is 0.
print("_RANDOM_GUESS_1689444462.1674016")# 1689444462.167421