Problem1977--晚餐

1977: 晚餐

Time Limit: 1 Sec  Memory Limit: 128 MB
Submit: 7  Solved: 2
[Submit] [Status] [Web Board] [Creator:]

Description

现在是土拨鼠的晚餐时间,我们都知道,土拨鼠吃花。每顿饭他都吃一些红花和白花。因此一顿晚餐可以被描绘成几朵鲜花的序列,其中一些是白色的,另一些是红色的。
为了使晚餐变得有滋有味,土拨鼠有一个规则:1.他一次只能吃1朵红花,2.一次只能吃k朵白花。
现在土拨鼠想知道有多少种方法能让他吃掉a朵花到b朵花。由于方法的数量也许会非常大,输出时取余1000000007(10^9 + 7)。

Input

输入包含几组测试样例。 第一行包括两个整数t和k(1 ≤ t, k ≤ 10^5),t代表测试样例的个数,k为一次只想吃k个白花。 
接下来的t行,每行包含两个整数ai和bi(1 ≤ ai ≤ bi ≤ 10^5),描述第i个测试样例。

Output

输出t行。第i行包含土拔鼠能吃掉ai朵花到bi朵花之间的方法总数(取余1000000007 (10^9 + 7))

Sample Input Copy

3 2
1 3
2 3
4 4

Sample Output Copy

6
5
5

Source/Category