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 $ - 入力はすべて整数