#ATarc173f. [ARC173F] Select and Split

[ARC173F] Select and Split

题目描述

黑板上写有一个由正整数组成的集合。最初,黑板上写有集合 S={1,2,,A,A+1,A+2,,A+B}S=\lbrace 1,2,\dots,A,A+1,A+2,\dots,A+B\rbrace

高桥君希望通过以下操作 N1N-1 次,将黑板上的集合变为 NN 个:

  • 从黑板上写着的整数集合中,选择一个集合 S0S_0,该集合中 AA 以下和 A+1A+1 及以上的元素各至少有一个。从 S0S_0 中分别选出一个 AA 以下的元素 aa 和一个 A+1A+1 及以上的元素 bb。将 S0S_0 从黑板上擦去,任意选择两个满足以下条件的集合 S1,S2S_1,S_2 写到黑板上:
    • S1,S2S_1,S_2 的并集为 S0S_0,且两者没有公共元素;
    • aS1, bS2a\in S_1,\ b\in S_2

请计算所有可能的一系列操作的方案数,答案对 998244353998244353 取模。

注意,如果存在某个 i (1iN1)i\ (1\leq i\leq N-1),第 ii 次操作所选择的 S0,a,b,S1,S2S_0,a,b,S_1,S_2 中有任意一个不同,则认为这两组操作方案是不同的。

输入格式

输入为一行,包含三个整数:

N A BN\ A\ B

输出格式

输出答案。

样例 1

输入

3 2 4

输出

1728

样例 2

输入

4 1 3

输出

6

样例 3

输入

5 6 6

输出

84486693

样例 4

输入

173173 173173 173173

输出

446948086

说明/提示

限制条件

  • 2N2×1052\leq N\leq 2\times 10^5
  • 1A,B2×1051\leq A,B\leq 2\times 10^5
  • NA+BN\leq A+B
  • 所有输入均为整数

样例解释 1

一种操作方案如下:

  • 选择 S0={1,2,3,4,5,6}S_0=\lbrace 1,2,3,4,5,6\rbracea=2,b=5a=2,b=5,分成 $S\_1=\lbrace 1,2,3,6\rbrace,\ S\_2=\lbrace 4,5\rbrace$。此时黑板上有 {1,2,3,6},{4,5}\lbrace 1,2,3,6\rbrace,\lbrace 4,5\rbrace 两个集合。
  • 选择 S0={1,2,3,6}S_0=\lbrace 1,2,3,6\rbracea=1,b=3a=1,b=3,分成 S1={1,2}, S2={3,6}S_1=\lbrace 1,2\rbrace,\ S_2=\lbrace 3,6\rbrace。此时黑板上有 $\lbrace 1,2\rbrace,\lbrace 3,6\rbrace,\lbrace 4,5\rbrace$ 三个集合。

样例解释 2

如果第一次操作选择 a=1,b=2a=1,b=2,分成 S1={1},S2={2,3,4}S_1=\lbrace 1\rbrace,S_2=\lbrace 2,3,4\rbrace,则后续无法完成 N1N-1 次操作。像这样未能完成 N1N-1 次操作的方案不计入答案。

由 ChatGPT 4.1 翻译