AT_abc281_h [ABC281Ex] Alchemy

题目描述

高桥君拥有 $A$ 种“等级 $1$ 的宝石”,每种宝石各有 $10^{10^{100}}$ 个。 此外,对于任意整数 $n \geq 2$,如果将满足以下所有条件的 $n$ 个宝石放入锅中,可以合成 $1$ 个“等级 $n$ 的宝石”。 - 任意两颗宝石的种类都不同。 - 所有宝石的等级都小于 $n$。 - 对于任意整数 $x \geq 2$,锅中“等级 $x$ 的宝石”最多只有 $1$ 个。 请计算高桥君最多能获得多少种“等级 $N$ 的宝石”,并对 $998244353$ 取模。 此外,等级 $2$ 及以上的宝石,如果它们在合成时所用的宝石集合完全相同,则视为同一种。 这里,两个宝石集合只要存在某种宝石只属于其中一个集合,就认为这两个集合不同。 另外,任意“等级 $1$ 的宝石”与任意等级 $2$ 及以上的宝石都属于不同种类。

输入格式

输入从标准输入中给出,格式如下: > $N$ $A$

输出格式

输出答案。

说明/提示

### 约束条件 - $1 \leq N \leq 2 \times 10^5$ - $1 \leq A \leq 10^9$ - $N, A$ 均为整数 ### 样例解释 1 获得 $10$ 种“等级 $3$ 的宝石”的方法如下: - 将 $3$ 种“等级 $1$ 的宝石”放入锅中。 - 高桥君有 $3$ 种“等级 $1$ 的宝石”,选择 $3$ 种的方式有 $1$ 种。因此,这种方法能获得 $1$ 种“等级 $3$ 的宝石”。 - 将 $1$ 种“等级 $2$ 的宝石”和 $2$ 种“等级 $1$ 的宝石”放入锅中。 - “等级 $2$ 的宝石”可以通过将 $2$ 种“等级 $1$ 的宝石”放入锅中获得。 - 高桥君有 $3$ 种“等级 $1$ 的宝石”,选择 $2$ 种的方式有 $3$ 种。因此,作为“等级 $2$ 的宝石”有 $3$ 种。 - 作为“等级 $2$ 的宝石”有 $3$ 种,选择 $2$ 种“等级 $1$ 的宝石”的方式有 $3$ 种,因此这种方法能获得 $3 \times 3 = 9$ 种“等级 $3$ 的宝石”。 由 ChatGPT 4.1 翻译