题目描述
我们知道,从区间 [L,H](L 和 H 为整数)中选取 N 个整数,总共有 (H−L+1)N 种方案。小 z 很好奇这样选出的数的最大公约数的规律,他决定对每种方案选出的 N 个整数都求一次最大公约数,以便进一步研究。然而他很快发现工作量太大了,于是向你寻求帮助。你的任务很简单,小 z 会告诉你一个整数 K,你需要回答他最大公约数刚好为 K 的选取方案有多少个。
由于方案数较大,你只需要输出其除以 109+7 的余数即可。
输入格式
输入一行,包含四个空格分开的正整数,依次为 N,K,L,H。
输出格式
输出一个整数,为所求方案数除以 109+7 的余数。
提示
样例 1 解释
所有可能的选择方案:(2,2),(2,3),(2,4),(3,2),(3,3),(3,4),(4,2),(4,3),(4,4)。
其中最大公约数等于 2 的只有 3 组:(2,2),(2,4),(4,2)。
数据规模与约定
对于 100% 的数据,1≤N,K≤109,1≤L≤H≤109,H−L≤105。