#P16376. [2024年南京集训]上低音号
[2024年南京集训]上低音号
题目描述
Kumiko 喜欢序列。
给定两个正整数 。她认为一个序列是好序列,当且仅当它满足以下条件:
- 序列长度恰好为 ;
- 序列中的每个数都是 内的整数;
- 每一种数字的出现次数均不超过 。
对于一个序列 ,Kumiko 可以进行如下变换:
选择两个 内的整数 ,先交换 与 的值,然后将序列中所有原来等于 的值变为 ,所有原来等于 的值变为 。
容易发现,一个好序列经过变换后仍然是好序列。
Kumiko 想要收集所有好序列,但她还要带领吹奏部冲击全国金。因此她退而求其次,打算只收集一些好序列,使得任意一个好序列,都可以由她手中的某个好序列经过若干次上述变换得到。
请你求出 Kumiko 至少需要收集多少个好序列。
答案对
取模。
输入格式
输入一行两个整数 ,分别表示序列长度和每种数字的出现次数上限。
输出格式
输出一行一个整数,表示 Kumiko 至少需要收集的好序列数量,对 取模。
样例
输入
3 2
输出
6
样例解释
Kumiko 可以收集以下 个序列:
$$\{1,1,2\},\ \{1,1,3\},\ \{1,2,3\},\ \{1,3,2\},\ \{2,1,1\},\ \{2,3,1\}.$$例如,好序列 可以由她手中的好序列 经过两次变换得到:
- 取 ,交换 ,得到 ;再将原来等于 的值变成 ,原来等于 的值变成 ,得到 。
- 取 ,交换 ,序列仍为 ;再将原来等于 的值变成 ,原来等于 的值变成 ,得到 。
序列 虽然不能由她手中的序列变换而来,但数字 的出现次数超过了 ,因此它不是好序列,无需考虑。
可以证明,任意好序列都可以由上述某个序列经过若干次变换得到,并且不存在收集数量更少的合法方案。
数据范围
对于全部测试数据:
本题共 个测试点,每个测试点 分。
-
前 个测试点满足 ;
-
第 个测试点满足 且 ;
-
对于后 个测试点,第 个测试点满足
-
第 个测试点满足 。