#2095. 「CQOI2015」选数

内存限制:256 MiB 时间限制:1000 ms 标准输入输出
题目类型:传统 评测方式:文本比较
上传者: 匿名

题目描述

我们知道,从区间 [L,H] L H 为整数)中选取 N 个整数,总共有 (H-L+1)^N 种方案。小 Z 很好奇这样选出的数的最大公约数的规律,他决定对每种方案选出的 N 个整数都求一次最大公约数,以便进一步研究。然而他很快发现工作量太大了,于是向你寻求帮助。你的任务很简单,小 Z 会告诉你一个整数 K ,你需要回答他最大公约数刚好为 K 的选取方案有多少个。由于方案数较大,你只需要输出其除以 1000000007 的余数即可。

输入格式

输入一行,包含四个以空格分开的正整数,依次为 N K L H

输出格式

输出一个整数,为所求方案数。

样例

样例输入

2 2 2 4

样例输出

3

样例解释

所有可能的选择方案: (2, 2), (2, 3), (2, 4), (3, 2), (3, 3), (3, 4), (4, 2), (4, 3), (4, 4)

其中最大公约数等于 2 的只有三组: (2, 2), (2, 4), (4, 2)

数据范围与提示

对于 100 \% 的数据, 1 \leq N,K \leq 10^9, \ 1 \leq L \leq H \leq 10^9, \ H-L \leq 10^5