L - X and Xor Editorial

Time Limit: 2 sec / Memory Limit: 1024 MB

配点 : 100100

問題文

00 以上 2M2^M 未満の整数からなる長さ NN の数列 AA すべてについて以下の値を考え、その総和を 998244353998244353 で割った余りを求めてください。

  • (A1×A2)(A2×A3)(AN1×AN)(A_1\times A_2) \oplus (A_2\times A_3) \oplus \ldots \oplus (A_{N-1}\times A_N)2M2^M で割った余り

ただし \oplus はビット単位 XOR\mathrm{XOR} 演算を表します。

ビット単位 XOR\mathrm{XOR} 演算とは

非負整数 A,BA,B のビット単位 XOR\mathrm{XOR} 演算、ABA\oplus B は、以下のように定義されます。

  • ABA\oplus B を二進表記した際の 2k (k0)2^k\ (k\geq 0) の位の数は、A,BA,B を二進表記した際の 2k2^k の位の数のうち一方のみが 11 であれば 11、そうでなければ 00 である。

例えば、35=63\oplus 5 = 6 となります(二進表記すると: 011101=110011\oplus 101 = 110)。

制約

  • 2N2×1052 \le N \le 2 \times 10^5
  • 1M2×1051 \le M \le 2 \times 10^5
  • 入力は全て整数

入力

入力は以下の形式で標準入力から与えられる。

NN MM

出力

答えを出力せよ。


入力例 1Copy

Copy
2 1

出力例 1Copy

Copy
1

A=(1,1)A=(1,1) の場合のみ A1×A2=1A_1\times A_2 = 1 で、それ以外の場合は 00 であるため、答えは 11 です。


入力例 2Copy

Copy
2 2

出力例 2Copy

Copy
16

入力例 3Copy

Copy
314 159

出力例 3Copy

Copy
856758166


2025-04-15 (Tue)
17:30:01 +00:00