[CQOI2015] 选数

题目描述

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

输入输出格式

输入格式


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

输出格式


输出一个整数,为所求方案数除以 $10^9 + 7$ 的余数。

输入输出样例

输入样例 #1

2 2 2 4

输出样例 #1

3

说明

#### 样例 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\le N,K\le 10^9$,$1\le L\le H\le 10^9$,$H-L\le 10^5$。