#abc228e. [abc228_e]Integer Sequence Fair

[abc228_e]Integer Sequence Fair

题目描述

在整数序列展示会上,将整数序列聚集在一起并进行评估。在这里,评估每个长度为 NN 的整数序列,该序列由介于 11KK(包括边界)之间的整数组成,并给它一个介于 11MM(包括边界)之间的整数分数。

打印出在 11MM(包括边界)之间为每个评估的序列分配分数的方式数,取模 998244353998244353

这里,当两种方式在某个评估的序列 A=(A1,A2,,AN)A = (A_1, A_2, \ldots, A_N) 上给出不同的分数时,我们称它们是不同的方式。

约束条件

  • 1N,K,M10181 \leq N, K, M \leq 10^{18}
  • NNKKMM 是整数。

输入

从标准输入获取以下格式的输入:

NN KK MM

输出

打印出在 11MM(包括边界)之间为每个评估的序列分配分数的方式数,取模 998244353998244353

示例输入 1

2 2 2

示例输出 1

16

有四个序列被评估:(1,1)(1, 1)(1,2)(1, 2)(2,1)(2, 1)(2,2)(2, 2)。有 1616 种方式可以在 1122(包括边界)之间为这些序列分配分数,如下所示。

  • 11 分配给 (1,1)(1, 1),将 11 分配给 (1,2)(1, 2),将 11 分配给 (2,1)(2, 1),将 11 分配给 (2,2)(2, 2)
  • 11 分配给 (1,1)(1, 1),将 11 分配给 (1,2)(1, 2),将 11 分配给 (2,1)(2, 1),将 22 分配给 (2,2)(2, 2)
  • 11 分配给 (1,1)(1, 1),将 11 分配给 (1,2)(1, 2),将 22 分配给 (2,1)(2, 1),将 11 分配给 (2,2)(2, 2)
  • 11 分配给 (1,1)(1, 1),将 11 分配给 (1,2)(1, 2),将 22 分配给 (2,1)(2, 1),将 22 分配给 (2,2)(2, 2)
  • cdots\\cdots
  • 22 分配给 (1,1)(1, 1),将 22 分配给 (1,2)(1, 2),将 22 分配给 (2,1)(2, 1),将 22 分配给 (2,2)(2, 2)

因此,我们打印出 1616

示例输入 2

3 14 15926535

示例输出 2

109718301

请务必将计数取模 998244353998244353 后输出。