AT_jsc2025_final_a CatCoder Binary Contest
Description
非負整数 $ N,K,X $ が与えられます。以下の「問題 A'」の答えが $ X $ になるような非負整数列 $ A=(A_1,A_2,\dots,A_N) $ としてありうるものの個数を $ 998244353 $ で割った余りを求めてください。なお、このような $ A $ の個数は有限であることが証明できます。
> **問題 A'**
>
> $ 4096 $ 年の CatCoder では、CatCoder Binary Contest(以下、CBC と略します)を開催することになりました。
>
> いま、問題案を持っている writer が $ N $ 人います。 $ i $ 人目の writer は $ A_i $ 個の問題案を持っています。
>
> 各 CBC では $ \text{Div.}0, \text{Div.}1, \dots ,\text{Div.}(K-1) $ の $ K $ 個の部門を同時に $ 1 $ つずつ開催します。 $ \text{Div.}i $ の開催には同じ writer の問題案が $ 2^i $ 個必要です。
>
> ここで、**別の部門の writer は必ずしも同じである必要がない**点に注意してください。 また、各問題案は高々 $ 1 $ 回の CBC の $ 1 $ つの部門にしか使用出来ません。
>
> CBC を最大で何回開催出来るかを求めてください。
Input Format
入力は以下の形式で標準入力から与えられる。
> $ N $ $ K $ $ X $
Output Format
問題 A' の答えが $ X $ になるような $ A $ の個数を $ 998244353 $ で割った余りを出力せよ。
Explanation/Hint
### Sample Explanation 1
問題 A' の答えが $ 1 $ になるような $ A $ は $ A = (0,3),(0,4),(0,5),(1,2),(1,3),(1,4),(2,1),(2,2),(2,3),(3,0),(3,1),(3,2),(4,0),(4,1),(5,0) $ の $ 15 $ 個です。
### Sample Explanation 2
例えば $ A = (10,5) $ のとき、以下のように問題案を使用することにより CBC を $ 2 $ 回開催出来ます。
Div.0Div.1Div.2第 $ 1 $ 回 $ 1 $ 人目の writer の $ 1 $ 問 $ 2 $ 人目の writer の $ 2 $ 問 $ 1 $ 人目の writer の $ 4 $ 問第 $ 2 $ 回 $ 2 $ 人目の writer の $ 1 $ 問 $ 2 $ 人目の writer の $ 2 $ 問 $ 1 $ 人目の writer の $ 4 $ 問
### Constraints
- $ 1 \le N \le 256 $
- $ 1 \le K \le 256 $
- $ 0 \le X \le 256 $
- 入力される値は全て整数