AT_arc144_d [ARC144D] AND OR Equation
Description
[problemUrl]: https://atcoder.jp/contests/arc144/tasks/arc144_d
正整数 $ N,\ K $ が与えられます.整数列 $ \bigl(f(0),\ f(1),\ \ldots,\ f(2^N-1)\bigr) $ であって,以下の条件をすべて満たすものの個数を $ 998244353 $ で割った余りを答えてください.
- 任意の非負整数 $ x $ ($ 0\leq\ x\ \leq\ 2^N-1 $) に対して $ 0\leq\ f(x)\leq\ K $.
- 任意の非負整数 $ x,\ y $ ($ 0\leq\ x,\ y\ \leq\ 2^N-1 $) に対して $ f(x)\ +\ f(y)\ =\ f(x\ \,\mathrm{AND}\,\ y)\ +\ f(x\ \,\mathrm{OR}\,\ y) $.
ただし,$ \mathrm{AND} $, $ \mathrm{OR} $ はそれぞれビットごとの論理積,論理和を表します.
Input Format
N/A
Output Format
N/A
Explanation/Hint
### 制約
- $ 1\leq\ N\leq\ 3\times\ 10^5 $
- $ 1\leq\ K\leq\ 10^{18} $
### Sample Explanation 1
条件を満たす整数列は以下の $ 6 $ 個です. - $ (0,0,0,0) $ - $ (0,1,0,1) $ - $ (0,0,1,1) $ - $ (1,0,1,0) $ - $ (1,1,0,0) $ - $ (1,1,1,1) $