配点 : 600 点
問題文
1 列に椅子が N 個並んでおり、椅子 1 、椅子 2 、… 、椅子 N と名前がついています。
1 つの椅子に 2 人以上が座ることはできません。
M 人が椅子に座りますが、座り方によって以下の式で与えられるスコアが定められます。
人が座っている椅子の番号を昇順にソートした数列を B=(B1,B2,…,BM) として、
i=1∏M−1(Bi+1−Bi)
人 i(1≤i≤K) は既に椅子 Ai に座っています。
残りの M−K 人の座り方は N−KPM−K 通りありますが、座り方全てについてスコアの和を取るといくつになりますか?
答えは非常に大きくなる可能性があるので、998244353 で割った余りを求めてください。
制約
- 2≤N≤2×105
- 2≤M≤N
- 0≤K≤M
- 1≤A1<A2<…<AK≤N
- 入力は全て整数
入力
入力は以下の形式で標準入力から与えられる。
N M K
A1 A2 … AK
出力
答えを出力せよ。
5 3 2
1 3
7
人 3 が椅子 2 に座った時のスコアは、(2−1)×(3−2)=1×1=1 です。
人 3 が椅子 4 に座った時のスコアは、(3−1)×(4−3)=2×1=2 です。
人 3 が椅子 5 に座った時のスコアは、(3−1)×(5−3)=2×2=4 です。
答えは 1+2+4=7 です。
6 6 1
4
120
全ての座り方でスコアは 1 です。
座り方は 5P5=120 通りあるので、答えは 120 です。
99 10 3
10 50 90
761621047