E - Existence Counting Editorial /

Time Limit: 4 sec / Memory Limit: 1024 MB

配点 : 700

問題文

整数 N,K が与えられます。このとき、以下の条件を全て満たす長さ K の数列 a=(a_1,a_2,\dots,a_K) を考えます。

  • a_i1 \le a_i \le N を満たす整数である
  • a の全ての要素は相異なる

a として考えられる数列を辞書順に全て並べた 「数列の列」 を辞書 s とします。

辞書 s 中に存在する数列 P が与えられるので、整数 t=1,2,\dots,N に対して以下の質問に答えてください。

  • 以下の条件を全て満たす数列 b の個数を 998244353 で割った余りを求めよ。
    • 数列 b は辞書 s 中に存在する。
    • 数列 b 中に整数 t が含まれる。
    • 数列 b は辞書順で数列 P 以下である。
数列の辞書順とは? 数列 A = (A_1, \ldots, A_{|A|})B = (B_1, \ldots, B_{|B|}) より辞書順で真に小さいとは、下記の 1. と 2. のどちらかが成り立つことを言います。
  1. |A|<|B| かつ (A_{1},\ldots,A_{|A|}) = (B_1,\ldots,B_{|A|}) である。
  2. ある整数 1\leq i\leq \min\{|A|,|B|\} が存在して、下記の 2 つがともに成り立つ。
    • (A_{1},\ldots,A_{i-1}) = (B_1,\ldots,B_{i-1})
    • A_i < B_i

制約

  • 入力は全て整数
  • 1 \le K \le N \le 3 \times 10^5
  • P は問題文中の条件を満たす。

入力

入力は以下の形式で標準入力から与えられる。

N K
P_1 P_2 \dots P_K

出力

全体で N 行出力せよ。
このうち i 行目には、 t=i であるときの質問の答えを整数として出力せよ。


入力例 1

4 2
3 2

出力例 1

5
5
4
2

この入力では、 N=4,K=2 です。
このとき、辞書 s=((1,2),(1,3),(1,4),(2,1),(2,3),(2,4),(3,1),(3,2),(3,4),(4,1),(4,2),(4,3)) となります。

辞書 s に含まれ、かつ辞書順で (3,2) 以下である数列のうち、

  • 1 が含まれるものは (1,2),(1,3),(1,4),(2,1),(3,1)5
  • 2 が含まれるものは (1,2),(2,1),(2,3),(2,4),(3,2)5
  • 3 が含まれるものは (1,3),(2,3),(3,1),(3,2)4
  • 4 が含まれるものは (1,4),(2,4)2

です。


入力例 2

18 13
5 13 11 2 18 1 10 15 17 4 12 7 3

出力例 2

925879409
905921009
665544804
665544719
783035803
349952762
349952758
349952757
349952757
349921178
212092637
710350150
378895603
129113201
129111892
129098081
129096772
110181652

Score: 700 points

Problem Statement

You are given integers N and K. Consider a sequence a=(a_1,a_2,\dots,a_K) of length K that satisfies all of the following conditions:

  • a_i is an integer such that 1 \le a_i \le N.
  • All elements in a are different.

Let us arrange all possible sequences a in lexicographical order to form a "sequence of sequences" called the dictionary s.

Given a sequence P that exists in the dictionary s, answer the following question for each integer t=1,2,\dots,N:

  • Find the number, modulo 998244353, of sequences b that satisfy all of the following conditions:
    • The sequence b exists in the dictionary s.
    • The integer t is contained in the sequence b.
    • The sequence b is lexicographically less than or equal to the sequence P.
What is lexicographical order for sequences? A sequence A = (A_1, \ldots, A_{|A|}) is lexicographically strictly less than B = (B_1, \ldots, B_{|B|}) if and only if 1. or 2. below is satisfied:
  1. |A|<|B| and (A_{1},\ldots,A_{|A|}) = (B_1,\ldots,B_{|A|}).
  2. There is an integer 1\leq i\leq \min\{|A|,|B|\} that satisfies both of the following:
    • (A_{1},\ldots,A_{i-1}) = (B_1,\ldots,B_{i-1})
    • A_i < B_i

Constraints

  • All input values are integers.
  • 1 \le K \le N \le 3 \times 10^5
  • P satisfies the condition in the problem statement.

Input

The input is given from Standard Input in the following format:

N K
P_1 P_2 \dots P_K

Output

Print N lines in total.
The i-th line should contain the answer to the problem for t=i as an integer.


Sample Input 1

4 2
3 2

Sample Output 1

5
5
4
2

In this input, N=4,K=2.
Here, the dictionary s is ((1,2),(1,3),(1,4),(2,1),(2,3),(2,4),(3,1),(3,2),(3,4),(4,1),(4,2),(4,3)).

Among the sequences in the dictionary s that are lexicographically less than or equal to (3,2),

  • five sequences contain 1: (1,2),(1,3),(1,4),(2,1),(3,1),
  • five sequences contain 2: (1,2),(2,1),(2,3),(2,4),(3,2),
  • four sequences contain 3: (1,3),(2,3),(3,1),(3,2),
  • two sequences contain 4: (1,4),(2,4).

Sample Input 2

18 13
5 13 11 2 18 1 10 15 17 4 12 7 3

Sample Output 2

925879409
905921009
665544804
665544719
783035803
349952762
349952758
349952757
349952757
349921178
212092637
710350150
378895603
129113201
129111892
129098081
129096772
110181652