Description
沙县发放带盐费以壕著称。这家沙县发放带盐费时有个指数 d。他会发放 n 轮带盐费,在第 i 轮中,都会发放 f(i)=∑k∣ikd(i≤n) 这么多的钱。
现在大家有了 Q 个问题,每个问题都形如 Cool 参加从第 Li 轮到第 Ri 轮的带盐活动,将能获得多少钱。(保证 1≤Li≤Ri≤n)
由于开在南大街的沙县小吃不是一般的有钱啊,所以呢,我们要计算的是 Cool 收到的钱对 109+7 取模得到的答案。
输入包含若干行。
第一行,三个整数,n,d,Q。(n≤107,d≤1018,q≤5×104。
接下来的 Q 行,每行两个整数 Li,Ri。
输出包含 Q 行。
每行一个整数,表示 Cool 得到的带盐费。
10 2 2
4 5
8 10
47
306
1000 0 1
720 720
30
Hint
样例 1:
f(4)=12+22+42=21
f(5)=12+52=26
f(8)+f(9)+f(10)=85+91+130=306
样例 2:
就相当于在数 720 的因数个数呢~