#P1042. 鲁棒性过滤器设计
鲁棒性过滤器设计
题目描述
某种高端音频处理设备中包含 级串联的信号过滤器。每级过滤器都有一个正整数特征值 。当强度为 ( 为非负整数)的音频信号通过一个特征值为 的过滤器时,输出的新信号强度会自动衰减为 。
也就是说,如果一个过滤器序列的特征值依次为 ,那么初始强度为 的信号在通过全部 级过滤器后,最终的输出强度为:
$$(((x \bmod a_1) \bmod a_2) \dots \bmod a_{k - 1}) \bmod a_k$$工程师在设计时,要求该过滤器序列必须具备无序鲁棒性。即对于任意给定的初始信号强度 ,无论将这 个过滤器以何种顺序重新排列(即换用从 到 的任意排列 重新组合),最终输出的信号强度都完全相同。
现在,给定允许选择的过滤器特征值上限 以及级数 。你需要计算出,一共有多少种不同的特征值序列 能够同时满足以下两个条件:
- 序列特征值严格递增,即 ;
- 该序列具备无序鲁棒性。
由于符合条件的方案数可能非常庞大,你只需要输出最终的方案数对 取模后的结果。
输入格式
输入仅有一行,包含两个正整数 和 (),分别表示特征值的最大可能上限以及过滤器的总级数。
输出格式
输出一个整数,表示满足上述所有条件的特征值序列的总数量,答案对 取模。
样例 1
7 3
16
样例 2
3 7
0
样例 3
1337 42
95147305
样例 4
1 1
1
样例 5
500000 1
500000
样例说明
数据范围
- 对于 的数据,。
- 对于 的数据,。