#ATarc163f. [ARC163F] Many Increasing Problems

[ARC163F] Many Increasing Problems

题目描述

PCT 君 出了如下题目。

递增问题
给定一个长度为 NN 的非负整数序列 A1,A2,,ANA_1,A_2,\dots,A_N。你可以进行任意次数(也可以不进行)的如下操作:

  • 选择一个满足 1iN1 \le i \le N 的整数 ii,将 AiA_i 增加 11 或减少 11

你的目标是将 AA 变为广义单调递增序列。请你求出达成目标所需的最小操作次数。

PCT 君认为这个问题太简单,不适合放在比赛最后,于是将其改编如下:

多个递增问题
长度为 NN 且所有元素都在 11MM 之间的整数序列 AA 一共有 MNM^N 个。对于所有这样的序列 AA,将其对应的 递增问题 的答案求和,并对 998244353998244353 取模,输出结果。

请你解决 多个递增问题

输入格式

输入为一行,格式如下:

NN MM

输出格式

输出 多个递增问题 的答案。

样例 1

输入

2 2

输出

1

样例 2

输入

6 4

输出

14668

样例 3

输入

163 702

输出

20728656

样例 4

输入

98765 99887

输出

103564942

说明/提示

数据范围

  • 1N,M1051 \le N, M \le 10^5

样例解释 1

长度为 22,所有元素在 1122 之间的数列共有 MN=4M^N = 4 个。对于每个序列 AA,其 递增问题 的答案如下:

  • A=(1,1)A=(1,1) 时,答案为 00
  • A=(1,2)A=(1,2) 时,答案为 00
  • A=(2,1)A=(2,1) 时,答案为 11
  • A=(2,2)A=(2,2) 时,答案为 00

因此,答案为 0+0+1+0=10+0+1+0=1

由 ChatGPT 4.1 翻译