AT_pakencamp_2022_day3_l X and Xor
Description
$ 0 $ 以上 $ 2^M $ 未満の整数からなる長さ $ N $ の数列 $ A $ すべてについて以下の値を考え、その総和を $ 998244353 $ で割った余りを求めてください。
- $ (A_1\times A_2) \oplus (A_2\times A_3) \oplus \ldots \oplus (A_{N-1}\times A_N) $ を $ 2^M $ で割った余り
ただし $ \oplus $ はビット単位 $ \mathrm{XOR} $ 演算を表します。
ビット単位 $ \mathrm{XOR} $ 演算とは非負整数 $ A,B $ のビット単位 $ \mathrm{XOR} $ 演算、 $ 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 $ $ M $
Output Format
答えを出力せよ。
Explanation/Hint
### Sample Explanation 1
$ A=(1,1) $ の場合のみ $ A_1\times A_2 = 1 $ で、それ以外の場合は $ 0 $ であるため、答えは $ 1 $ です。
### Constraints
- $ 2 \le N \le 2 \times 10^5 $
- $ 1 \le M \le 2 \times 10^5 $
- 入力は全て整数