#XMOJ12274. 圆周上的点

圆周上的点

说明

时间限制:1 Sec 内存限制:256 MB 输入文件:circle.in 输出文件:circle.out

圆周上等间隔分布着 $N$ 个点。从中选出 $K$ 个点,求具有旋转对称性的选法一共有多少种。

旋转对称性的定义:选出的 $K$ 个点构成的集合存在非平凡旋转,旋转之后集合和自身重合,也就是存在 $1\le d \lt N$,旋转 $d$ 步后选中点不变。

答案可能很大,请输出答案对 $10^9+7$ 取模后的结果。

输入格式

第一行两个整数 $N,K$。

输出格式

输出一个整数,表示答案对 $10^9+7$ 取模的值。

样例

样例 1

12 8

15

样例 2

12 7

0

样例 3

12 6

24

数据范围

对于 20% 的数据,$N \le 10$。

对于 40% 的数据,$N \le 100$。

对于 100% 的数据,$1 \le K \le N \le 10^6$。