atcoder#ABC225H. [ABC225H] Social Distance 2

[ABC225H] Social Distance 2

配点 : 600600

問題文

11 列に椅子が NN 個並んでおり、椅子 11 、椅子 22\ldots 、椅子 NN と名前がついています。 11 つの椅子に 22 人以上が座ることはできません。

MM 人が椅子に座りますが、座り方によって以下の式で与えられるスコアが定められます。

人が座っている椅子の番号を昇順にソートした数列を B=(B1,B2,,BM)B=(B_1,B_2,\ldots,B_M) として、 i=1M1(Bi+1Bi)\displaystyle \prod_{i=1}^{M-1} (B_{i+1} - B_i)

i(1iK)i (1 \leq i \leq K) は既に椅子 AiA_i に座っています。 残りの MKM-K 人の座り方は NKPMK{} _ {N-K} \mathrm{P} _ {M-K} 通りありますが、座り方全てについてスコアの和を取るといくつになりますか?

答えは非常に大きくなる可能性があるので、998244353998244353 で割った余りを求めてください。

制約

  • 2N2×1052 \leq N \leq 2 \times 10^5
  • 2MN2 \leq M \leq N
  • 0KM0 \leq K \leq M
  • 1A1<A2<<AKN1 \leq A_1 \lt A_2 \lt \ldots \lt A_K \leq N
  • 入力は全て整数

入力

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

NN MM KK

A1A_1 A2A_2 \ldots AKA_K

出力

答えを出力せよ。

5 3 2
1 3
7

33 が椅子 22 に座った時のスコアは、(21)×(32)=1×1=1(2-1) \times (3-2)=1 \times 1 = 1 です。 人 33 が椅子 44 に座った時のスコアは、(31)×(43)=2×1=2(3-1) \times (4-3)=2 \times 1 = 2 です。 人 33 が椅子 55 に座った時のスコアは、(31)×(53)=2×2=4(3-1) \times (5-3)=2 \times 2 = 4 です。 答えは 1+2+4=71+2+4=7 です。

6 6 1
4
120

全ての座り方でスコアは 11 です。 座り方は 5P5=120{} _ {5} \mathrm{P} _ {5} = 120 通りあるので、答えは 120120 です。

99 10 3
10 50 90
761621047