AT_arc212_f [ARC212F] Add Integer

Description

整数 $ N,M,X $ が与えられます。 以下の一連の操作を行い、長さ $ N $ の非負整数列 $ A $ を作ります。 - 長さ $ 2 $ の整数列 $ A=(A_1,A_2) $ を自由に決める。 - その後、 $ A $ に対して以下の操作を $ N-2 $ 回行う。 - $ k=|A| $ とする。 $ x=A_{k-1}, y=A_k $ とする。 $ A $ の末尾に $ x+y $ または $ y-x $ を追加する。 また、整数列 $ A $ が良い数列であるとは、以下を満たすことを言います。 - $ 0 \le A_i \le M \ (1 \le i \le N) $ - $ A_N=X $ 操作によって得られる全ての良い数列に対する $ A_1 \times A_2 $ の総和を $ 998244353 $ で割ったあまりを求めてください。

Input Format

入力は以下の形式で標準入力から与えられる。 > $ N $ $ M $ $ X $

Output Format

答えを出力せよ。

Explanation/Hint

### Sample Explanation 1 $ (0,3,3),(1,4,3),(2,1,3) $ などが考えられます。 あり得る数列全ての $ A_1 \times A_2 $ の和は $ 8 $ となります。 ### Constraints - $ 3 \leq N \leq 2 \times 10^5 $ - $ 1 \leq X \leq M \leq 2 \times 10^5 $ - 入力される値は全て整数