E - And DNA
Editorial
/
Time Limit: 2 sec / Memory Limit: 1024 MB
配点 : 100 点
問題文
0 以上 M 以下の非負整数からなる長さ N の数列 A=(A_1,A_2,\dots,A_N) のうち、以下の条件を満たすものの個数を 998244353 で割った余りを求めてください。
- すべての i=1,2,\dots,N に対して、 A_i + (A_{i-1} \& A_{i+1})=M である。ただし、 A_0 \coloneqq A_N,A_{N+1} \coloneqq A_1 とし、 \& はビットごとの論理積である。
制約
- 3 \leq N \leq 10^9
- 0 \leq M \leq 10^9
- 入力はすべて整数
入力
入力は以下の形式で標準入力から与えられる。
N M
出力
答えを出力せよ。
入力例 1
3 2
出力例 1
4
条件を満たす A は (0,2,2), (2,0,2), (2,2,0), (1,1,1) の 4 つです。
入力例 2
3 0
出力例 2
1
条件を満たす A は (0,0,0) の 1 つです。
入力例 3
100 100
出力例 3
343406454
998244353 で割った余りを求めてください。