10446: #2095. 「CQOI2015」选数
题目描述
我们知道,从区间 [L,H][L,H][L,H](LLL 和 HHH 为整数)中选取 NNN 个整数,总共有 (H−L+1)N(H-L+1)^N(H−L+1)N 种方案。小 Z 很好奇这样选出的数的最大公约数的规律,他决定对每种方案选出的 NNN 个整数都求一次最大公约数,以便进一步研究。然而他很快发现工作量太大了,于是向你寻求帮助。你的任务很简单,小 Z 会告诉你一个整数 KKK,你需要回答他最大公约数刚好为 KKK 的选取方案有多少个。由于方案数较大,你只需要输出其除以 100000000710000000071000000007 的余数即可。
输入格式
输入一行,包含四个以空格分开的正整数,依次为 NNN,KKK,LLL 和 HHH。
输出格式
输出一个整数,为所求方案数。
样例
样例输入
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, 3), (2, 4), (3, 2), (3, 3), (3, 4), (4, 2), (4, 3), (4, 4)(2,2),(2,3),(2,4),(3,2),(3,3),(3,4),(4,2),(4,3),(4,4)。
其中最大公约数等于 222 的只有三组:(2,2),(2,4),(4,2)(2, 2), (2, 4), (4, 2)(2,2),(2,4),(4,2)。
数据范围与提示
对于 100%100 \%100% 的数据,1≤N,K≤109, 1≤L≤H≤109, H−L≤1051 \leq N,K \leq 10^9, \ 1 \leq L \leq H \leq 10^9, \ H-L \leq 10^51≤N,K≤109, 1≤L≤H≤109, H−L≤105。