#ATarc172b. [ARC172B] AtCoder Language

[ARC172B] AtCoder Language

题目描述

AtCoder 语有 LL 种不同的字符。由 AtCoder 语的字符组成的 NN 个字符的字符串 ss,满足以下条件的有多少种?请输出答案对 998244353998244353 取模后的结果。

  • 字符串 ss 的任意一个“KK 个字符的子序列”都是不同的。严格来说,从字符串 ss 中选出 KK 个字符,按照原有顺序连接,得到 KK 个字符的字符串的方法有 NCK_N\mathrm{C}_K 种,这些方法得到的所有字符串都互不相同。

NCK_N\mathrm{C}_K 表示从 NN 个元素中选出 KK 个的方法总数。更严格地说,NCK_N\mathrm{C}_K 等于 N!N! 除以 K!×(NK)!K! \times (N-K)!

输入格式

输入以以下格式从标准输入读入。

NN KK LL

输出格式

请输出答案。

样例 1

输入

4 3 2

输出

2

样例 2

输入

100 80 26

输出

496798269

样例 3

输入

100 1 26

输出

0

样例 4

输入

500000 172172 503746693

输出

869120

说明/提示

限制条件

  • 1K<N5000001 \leq K < N \leq 500000
  • 1L1091 \leq L \leq 10^9
  • 输入均为整数

样例解释 1

将 AtCoder 语的第 11 种字符记为 a,第 22 种字符记为 b,满足条件的字符串有 ababbaba22 种。

样例解释 2

满足条件的字符串大约有 108610^{86} 种,这里输出对 998244353998244353 取模后的 496798269496798269

由 ChatGPT 4.1 翻译