/
実行時間制限: 2 sec / メモリ制限: 1024 MiB
配点 : 550 点
問題文
プリンセスの高橋さんは乗馬をしようとしましたが、間違えて競馬場に来てしまいました。
競馬場では、N 頭の馬がレースに出走します。馬には、単勝での人気が高い順に 1,2,\ldots,N の番号が付いています。
N 頭の馬から異なる K 頭を選び、その番号を昇順に並べた列 (a_1,a_2,\ldots,a_K) を考えます。このような列 \displaystyle\binom{N}{K} 個に、 1 位から \displaystyle\binom{N}{K} 位までの相異なる順位を付けます。
順位の付け方は、次の条件を満たさなければなりません。
- 異なる 2 つの列 a=(a_1,a_2,\ldots,a_K),~ b=(b_1,b_2,\ldots,b_K) が、すべての i\ (1\le i\le K) について a_i\le b_i を満たすならば、a の順位は b の順位よりも小さい。
条件を満たすすべての順位の付け方を考えます。与えられた列 (x_1,x_2,\ldots,x_K) の順位としてあり得る最小値と最大値を求め、それぞれを 998244353 で割った余りを出力してください。
制約
- 1 \le K \le N \le 10^9
- K \le 300
- 1 \le x_1 \lt x_2 \lt \cdots \lt x_K\le N
- 入力はすべて整数である
入力
入力は以下の形式で標準入力から与えられる。
N K x_1 x_2 \ldots x_K
出力
順位としてあり得る最小値と最大値を 998244353 で割った余りで、この順に空白区切りで出力せよ。
入力例 1
4 2 2 4
出力例 1
5 5
全部で \binom{4}{2} = 6 個の列に順位をつけます。(2, 4) と比べた時、(1, 2), (1, 3), (1, 4), (2, 3) は必ず順位が小さく、(3, 4) は必ず順位が大きいです。 よって順位は最小・最大ともに 5 です。
入力例 2
4 2 2 3
出力例 2
3 4
全部で \binom{4}{2} = 6 個の列に順位をつけます。(2, 3) と比べた時、(1, 2), (1, 3) は必ず順位が小さく、(2, 4), (3, 4) は必ず順位が大きいです。(1, 4) は順位を小さくすることも、大きくすることも可能です。よって順位は最小が 3、最大は 4 です。
入力例 3
20 7 2 3 5 7 11 13 17
出力例 3
2217 39247
入力例 4
20260801 8 2 20 202 2026 20260 202608 2026080 20260801
出力例 4
620426308 756016478