问题 5242 --游侠的陷阱

5242: 游侠的陷阱

时间限制: 2 Sec  内存限制: 512 MB
提交: 3  解决: 3
[提交][状态][命题人:]

题目描述

小明战胜€€£的魔法师后,转职成了游侠。
有一天,一只怪兽黑山羊幼崽袭来。黑山羊幼崽虽然攻击力不高,但具有很高的生命值,因此小明决定采用游侠的特色陷阱——“模陷阱”对付黑山羊幼崽。

小明打算布置 n 个陷阱,并为每个陷阱设置一个正整数属性,第 i 个陷阱的属性为 a[i] 。
正整数序列 a[] 需满足最大值不超过 m  ,且该序列是递增的,即对于任意 1≤i<n ,有 a[i]<a[i+1] 。

设黑山羊幼崽之前的生命值为 h ,当它踩中第 i 个陷阱后,生命值将变为 h%a[i]
 ,其中 % 表示取模操作。

黑山羊幼崽是十分特殊的亡灵,初始生命值可以是任意非负整数,并且即使生命值为 0 ,也会继续行动。
但黑山羊幼崽智力不高,会踩中每一个陷阱,每个陷阱各恰好踩一次。但踩中的顺序并不确定。

小明希望,当黑山羊幼崽的初始生命值为任意非负整数 h 时,其以任意顺序踩中所以陷阱,最终生命值均为 (((h%a[1])%a[2])%...)%a[n] 。

求对于这 n 个陷阱,有多少种设置 a[] 序列的方案,答案对 998244353 取模。

输入

输入两个整数 m,n (1≤m,n≤5·10^5) ,分别表示陷阱属性上限和数量。

输出

输出一个整数,表示方案数对 998244353 取模的结果。
样例输入
Copy
样例1:
7 3

样例2:
3 7

样例3:
1337 42

样例4:
1 1

样例5:
500000 1
样例输出
Copy
样例1:
16

样例2:
0

样例3:
95147305

样例4:
1

样例5:
500000

提示

来源

[提交][状态]