AT_pakencamp_2023_day2_g Reducing x K

Description

正整数 $ N $ と長さ $ N $ の非負整数列 $ A $ が与えられる。以下の操作をちょうど $ K $ 回繰り返すことを考える。 - $ A $ から正の要素をひとつ選ぶ。選んだ要素を $ x $ として、これを $ 0 \leq y < x $ を満たす整数 $ y $ に置き換える。 $ K $ 回の操作の後の $ A $ としてあり得るものの数を $ 998244353 $ で割った余りを求めよ。

Input Format

入力は以下の形式で標準入力から与えられる。 > $ N $ $ K $ $ A_1 $ $ A_2 $ $ \cdots $ $ A_N $

Output Format

答えを一行に出力せよ。

Explanation/Hint

### 配点 以下の小課題に点数が定められている。 1. ( $ 200 $ 点) $ N, K \leq 100 $ 2. ( $ 400 $ 点) $ N, K \leq 1000 $ 3. ( $ 200 $ 点) 追加の制約はない。 ### Sample Explanation 1 $ K $ 回の操作後の $ A $ としてあり得るものを以下に列挙する : $ (1, 2, 1), (1, 2, 0), (1, 1, 2), (1, 1, 1), (1, 1, 0), (1, 0, 3), (1, 0, 2), (1, 0, 1), (1, 0, 0), (0, 2, 2), (0, 2, 1), (0, 2, 0), (0, 1, 3), (0, 0, 3) $ の $ 14 $ 通り。 ### Constraints - $ 1 \leq N \leq 10^5 $ - $ 1 \leq K \leq 10^5 $ - $ 0 \leq A_i \leq 10^9 $ - 入力は全て整数