AT_abc288_h [ABC288Ex] A Nameless Counting Problem

Description

[problemUrl]: https://atcoder.jp/contests/abc288/tasks/abc288_h 下記の $ 2 $ つの条件をともに満たす長さ $ N $ の整数列 $ A\ =\ (A_1,\ A_2,\ \ldots,\ A_N) $ の個数を $ 998244353 $ で割ったあまりを出力してください。 - $ 0\ \leq\ A_1\ \leq\ A_2\ \leq\ \cdots\ \leq\ A_N\ \leq\ M $ - $ A_1\ \oplus\ A_2\ \oplus\ \cdots\ \oplus\ A_N\ =\ X $ ここで、$ \oplus $ はビットごとの排他的論理和を表します。 ビットごとの排他的論理和とは? 非負整数 $ A,\ B $ のビットごとの排他的論理和 $ A\ \oplus\ B $ は、以下のように定義されます。 - $ A\ \oplus\ B $ を二進表記した際の $ 2^k $ ($ k\ \geq\ 0 $) の位の数は、$ A,\ B $ を二進表記した際の $ 2^k $ の位の数のうち一方のみが $ 1 $ であれば $ 1 $、そうでなければ $ 0 $ である。 例えば、$ 3\ \oplus\ 5\ =\ 6 $ となります (二進表記すると: $ 011\ \oplus\ 101\ =\ 110 $)。

Input Format

N/A

Output Format

N/A

Explanation/Hint

### 制約 - $ 1\ \leq\ N\ \leq\ 200 $ - $ 0\ \leq\ M\ \lt\ 2^{30} $ - $ 0\ \leq\ X\ \lt\ 2^{30} $ - 入力はすべて整数 ### Sample Explanation 1 問題文中の $ 2 $ つの条件をともに満たす長さ $ N $ の整数列 $ A $ は、$ (0,\ 0,\ 2),\ (0,\ 1,\ 3),\ (1,\ 1,\ 2),\ (2,\ 2,\ 2),\ (2,\ 3,\ 3) $ の $ 5 $ 個です。