AT_xmascon23_c Clamp Clamp Clamp

Description

$ N $ を正整数とする. $ (0, 1, \ldots, 2N) $ の並べ替え $ (a_0, a_1, \ldots, a_{2N}) $ であって,すべての $ i = 0, 1, \ldots, N-1 $ に対し $ a_{2i+1} < a_{2i+2} $ を満たすもの全体の集合を $ A $ とする. $ a = (a_0, a_1, \ldots, a_{2N}) \in A $ に対し, $ f(a) $ を以下のように定める: - $ b_0 = a_0 $ とおく. - $ i = 0, 1, \ldots, N-1 $ に対し, $ b_{i+1} = \min\{\max\{b_i, a_{2i+1}\}, a_{2i+2}\} $ とおく. - $ f(a) = b_N $ と定める. $ N $ および, $ Q $ 個の整数 $ Z_1, Z_2, \ldots, Z_Q $ が与えられる.各 $ j = 1, 2, \ldots, Q $ に対し, $ f(a) = Z_j $ となる $ a \in A $ の個数を $ 998244353 $ で割った余りを求めよ.

Input Format

入力は以下の形式で標準入力から与えられる. > $ N $ $ Q $ $ Z_1 $ $ Z_2 $ $ \cdots $ $ Z_Q $

Output Format

$ j = 1, 2, \ldots, Q $ の順に, $ f(a) = Z_j $ となる $ a \in A $ の個数を $ 998244353 $ で割った余りを,空白区切りで出力せよ.

Explanation/Hint

### Sample Explanation 1 - $ a = (2, 3, 4, 0, 1), (3, 2, 4, 0, 1), (4, 2, 3, 0, 1) $ のとき $ f(a) = 1 $ である. - $ a = (0, 1, 2, 3, 4), (1, 0, 2, 3, 4), (2, 0, 1, 3, 4) $ のとき $ f(a) = 3 $ である. - その他の $ a \in A $ に対しては $ f(a) = 2 $ である. ### Constraints - $ 1 \le N \le 10^7 $ . - $ 1 \le Q \le 250\,000 $ . - $ 0 \le Z_1 < Z_2 < \cdots < Z_Q \le 2N $ .