For sure you have seen puzzles like “Given the sequence, find its next element”. They seem logical in your childhood, but later you begin to understand that you can write any number and justify it with some tricky construction.
In this problem you have to continue the sequence “in the easiest way”. Still not strict enough? Let us give a formal definition.
Let the hardness of the sequence a_{1}, a_{2}, …, a_{n} be the minimum integer d such that there exists a polynomial p of degree d for which p(x) = a_{x} mod 998 244 353 for all x from 1 to n. For this problem, consider the polynomial p(x) = 0 to have degree −1.
Given a sequence a_{1}, a_{2}, ..., a_{n} of size n, your task is to construct a sequence b_{1}, b_{2}, …, b_{n+m} of size n+m such that:
 0 ≤ b_{i} < 998 244 353 for all i from 1 to n+m,
 a_{i} = b_{i} for all i from 1 to n,
 The hardness of the sequence b is as small as possible.
Input
The first line of input contains two integers n and m (1 ≤ n ≤ 10^{5}, 1 ≤ m ≤ 8 · 10^{5}).
The second line of input contains n integers a_{i}: the initial sequence (0 ≤ a_{i} < 998 244 353).
Output
Print m integers b_{n+1}, b_{n+2}, …, b_{n+m} separated by spaces.
Samples
input  output 

5 10
1 4 9 16 25
 36 49 64 81 100 121 144 169 196 225

3 3
0 0 0
 0 0 0

5 10
1 2 4 8 16
 31 57 99 163 256 386 562 794 1093 1471

3 1
2 1 0
 998244352

Problem Author: Alexey Danilyuk, Oleg Merkurev
Problem Source: Petrozavodsk Summer 2018. t.me/umnik_team Contest