AT_agc039_c [AGC039C] Division by Two with Something
Description
[problemUrl]: https://atcoder.jp/contests/agc039/tasks/agc039_c
整数 $ N,\ X $ が与えられます。$ 0 $ 以上 $ X $ 以下のすべての整数 $ k $ に対し、 $ k $ に以下の操作を繰り返すことによって次に $ k $ に戻るまでの操作回数 (戻らない場合 $ 0 $) を足し合わせた値を $ 998244353 $ で割ったあまりを求めてください。
- 現在の整数が奇数なら、$ 1 $ を引いて $ 2 $ で割る。そうでなければ、$ 2 $ で割って $ 2^{N-1} $ を足す。
Input Format
入力は以下の形式で標準入力から与えられる。
> $ N $ $ X $
Output Format
$ 0 $ 以上 $ X $ 以下のすべての整数に対し、 操作を繰り返すことによってもとの整数に戻るまでの操作回数 (戻らない場合 $ 0 $) を足し合わせた値を $ 998244353 $ で割ったあまりを出力せよ。
Explanation/Hint
### 制約
- $ 1\ \leq\ N\ \leq\ 2\times\ 10^5 $
- $ 0\ \leq\ X\