AT_tupc2023_e And DNA
Description
$ 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 $ とし、 $ \& $ はビットごとの論理積である。
Input Format
入力は以下の形式で標準入力から与えられる。
> $ N $ $ M $
Output Format
答えを出力せよ。
Explanation/Hint
### Sample Explanation 1
条件を満たす $ A $ は $ (0,2,2), (2,0,2), (2,2,0), (1,1,1) $ の $ 4 $ つです。
### Sample Explanation 2
条件を満たす $ A $ は $ (0,0,0) $ の $ 1 $ つです。
### Sample Explanation 3
$ 998244353 $ で割った余りを求めてください。
### Constraints
- $ 3 \leq N \leq 10^9 $
- $ 0 \leq M \leq 10^9 $
- 入力はすべて整数