我们知道,从区间[LH](L和H为整数)中选取N个整数,总共有(H-L+1)^N种方案.小z很好奇这样选出的数的最大公约数的规律,他决定对每种方案选出的N个整数都求一次最大公约数,以便进一步研究.然而他很快发现工作量太大了,于是向你寻求帮助.你的任务很简单,小z会告诉你一个整数K,你需要回答他最大公约数刚好为K的选取方案有多少个.由于方案数较大,你只需要输出其除以1000000007的余数即可.
输入一行,包含4个空格分开的正整数,依次为N,K,L和H.
我们先设在一段区间[lr]间选择n个元素,且它们的gcd为k*i的选择方案是f[i].
但是还有特殊情况.就是k在[lr]间,所以这时f[1]++即可.