AT_abc322_g [ABC322G] Two Kinds of Base

Description

[problemUrl]: https://atcoder.jp/contests/abc322/tasks/abc322_g 非負整数列 $ S=(S_1,S_2,\dots,S_k) $ と整数 $ a $ に対して、以下のように関数 $ f(S,a) $ を定義します。 - $ f(S,a)\ =\ \sum_{i=1}^{k}\ S_i\ \times\ a^{k\ -\ i} $ 例えば、$ f((1,2,3),4)\ =\ 1\ \times\ 4^2\ +\ 2\ \times\ 4^1\ +\ 3\ \times\ 4^0\ =\ 27,f((1,1,1,1),10)\ =\ 1\ \times\ 10^3\ +\ 1\ \times\ 10^2\ +\ 1\ \times\ 10^1\ +\ 1\ \times\ 10^0\ =\ 1111 $ です。 正整数 $ N,X $ が与えられます。以下の条件を全て満たす非負整数列 $ S=(S_1,S_2,\dots,S_k) $ と正整数 $ a,b $ の組 $ (S,a,b) $ の個数を $ 998244353 $ で割ったあまりを求めてください。 - $ k\ \ge\ 1 $ - $ a,b\ \le\ N $ - $ S_1\ \neq\ 0 $ - $ S_i\

Input Format

入力は以下の形式で標準入力から与えられる。 > $ N $ $ X $

Output Format

条件を満たす非負整数列 $ S $ と正整数 $ a,b $ の組 $ (S,a,b) $ の個数を $ 998244353 $ で割ったあまりを出力せよ。

Explanation/Hint

### 制約 - $ 1\ \le\ N\ \le\ 10^9 $ - $ 1\ \le\ X\ \le\ 2\ \times\ 10^5 $ - 入力は全て整数 ### Sample Explanation 1 $ (S,a,b)=((1,0),4,2),((1,1),4,2),((2,0),4,3),((2,1),4,3),((2,2),4,3) $ の $ 5 $ 通りが条件を満たします。