AT_arc182_c [ARC182C] Sum of Number of Divisors of Product

Description

[problemUrl]: https://atcoder.jp/contests/arc182/tasks/arc182_c 長さが $ 1 $ 以上 $ N $ 以下で各要素が $ 1 $ 以上 $ M $ 以下である整数列を**良い数列**と呼びます。 また、良い数列に対する**スコア**を、その整数列に含まれる要素の総積を $ X $ としたときの、$ X $ の正の約数の総数とします。 良い数列は $ \displaystyle\ \sum_{k=1}^{N}M^k $ 個ありますが、それらすべてに対するスコアの総和を $ 998244353 $ で割った余りを求めてください。

Input Format

N/A

Output Format

N/A

Explanation/Hint

### 制約 - $ 1\ \leq\ N\ \leq\ 10^{18} $ - $ 1\ \leq\ M\ \leq\ 16 $ - 入力はすべて整数 ### Sample Explanation 1 良い数列は $ (1),(2),(3),(4),(5),(6),(7) $ の $ 7 $ つ存在します。それぞれスコアは $ 1,2,2,3,2,4,2 $ なので、$ 1+2+2+3+2+4+2=16 $ が答えです。 ### Sample Explanation 2 たとえば $ (8,11) $ や $ (1,8,2) $ は良い数列です。これらの数列に対するスコアを計算する過程を示します。 - $ (8,11) $ の要素の総積は $ 8\times\ 11=88 $ である。$ 88 $ の正の約数は $ 1,2,4,8,11,22,44,88 $ の $ 8 $ つあるので、$ (8,11) $ のスコアは $ 8 $ である。 - $ (1,8,2) $ の要素の総積は $ 1\times\ 8\times\ 2=16 $ である。$ 16 $ の正の約数は $ 1,2,4,8,16 $ の $ 5 $ つあるので、$ (1,8,2) $ のスコアは $ 5 $ である。 ### Sample Explanation 3 $ 998244353 $ で割った余りを求めることを忘れないでください。