#P11316. [RMI 2021] 去 M / NoM

    ID: 10802 Type: RemoteJudge 200ms 500MiB Tried: 0 Accepted: 0 Difficulty: 5 Uploaded By: Tags>2021背包组合数学RMI(罗马尼亚)

[RMI 2021] 去 M / NoM

题目背景

译自 9th Romanian Master of Informatics, RMI 2021 D2T1。0.2s,0.5G\texttt{0.2s,0.5G}

题目描述

NN 个绿色的石子,标号 1N1\sim N

NN 个灰色的石子,标号 1N1\sim N

2N2N 个石子任意排成一列,两个相邻石子的距离为 11。定义 dist(i)\mathrm{dist}(i) 为绿色的上面标有 ii 的石子与灰色的上面标有 ii 的石子的距离。

给定正整数 MM。若存在 1iN1\le i\le N,使得 Mdist(i)M\mid \mathrm{dist}(i),我们就说这样的排列方式是不好的(因为可能会导致 IDE 卡死)。否则我们就说这样的排列方式是好的

求出好的排列方案数,对 (109+7)(10^9+7) 取模。

两种排列方案相同,当且仅当对应石子颜色和编号都相同。

输入格式

一行两个正整数 N,MN,M

输出格式

输出一行一个整数,表示方案数对 (109+7)(10^9+7) 取模后的结果。

100 23
171243255
1 1
0

提示

对于 100%100\% 的数据,保证 1MN20001\le M\le N\le 2\, 000

子任务编号 N,MN,M\le 得分
1 1 5 5 99
2 2 100 100 1212
3 3 300 300 1313
4 4 900 900 1818
5 5 2000 2\, 000 4848