/
実行時間制限: 2 sec / メモリ制限: 1024 MiB
配点 : 700 点
問題文
非負整数 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 を最大で何回開催出来るかを求めてください。
制約
- 1 \le N \le 256
- 1 \le K \le 256
- 0 \le X \le 256
- 入力される値は全て整数
入力
入力は以下の形式で標準入力から与えられる。
N K X
出力
問題 A' の答えが X になるような A の個数を 998244353 で割った余りを出力せよ。
入力例 1
2 2 1
出力例 1
15
問題 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 個です。
入力例 2
2 3 2
出力例 2
126
例えば A = (10,5) のとき、以下のように問題案を使用することにより CBC を 2 回開催出来ます。
| Div.0 | Div.1 | Div.2 | |
|---|---|---|---|
| 第 1 回 | 1 人目の writer の 1 問 | 2 人目の writer の 2 問 | 1 人目の writer の 4 問 |
| 第 2 回 | 2 人目の writer の 1 問 | 2 人目の writer の 2 問 | 1 人目の writer の 4 問 |
入力例 3
256 255 254
出力例 3
739506516