# Pn. Angus的第一題
time limit per test : 1 second
memory limit per test : 256 megabytes
*這是程式的題目啦,但也可以當作一般的數學題喔
*我知道很不通順 請見諒== 考卷就長這樣
Angus 今天上數學課,正在學排列組合的他在考試中遇到一題連高宇也寫錯。
考試卷中本來的題目敘述如下 :
:::success
**一個集合S={1,2,3,.....,10},
對其中每個元素進行取或不取,
求 至多只包含所有三個連續整數中其中一個數的機率。**
(答案是60喔嘻嘻)
(白話來說,
就是全部每10個數1~10中
每3個數字 : 123 234 ...當中,
只能在子集合中出現至多一個)(有1就不能2跟3)
:::
(Angus人很好,幫你們理解完題目了,譬如子集合 {1,7} 是符合的,而集合{5,6,10}則否。)
在老師說明完解法後,Angus認為這樣的題目已經滿足不了他,為了證明給高宇看自己的實力,他決定增加題目條件。
「一個集合S={1,2,3,.....,N},
對其中每個元素進行取或不取,
求 至多只包含所有 K 個連續整數中其中一個數的機率。」
但同時,Angus也是個好人,他認為算機率太麻煩了,因此他又把題目改成
.
.
:bug: :bug: :bug: :bug: :bug: :bug:
:::success
***「一個集合S={1,2,3,.....,n},
對其中每個元素進行取或不取,
求 至多只包含所有 k 個連續整數中其中一個數可能的方式數量。」***
(白話來說,
就是全部n個數中
每k個數 : 12..k及23..k+1及..當中,
只能在子集合中出現至多一個數字)
:::
希望你們幫幫他,讓他在高宇面前抬的起頭
## INPUT
第一行有一個整數T(T<=1000),代表測資的數量。
每筆測資中都有正整數N 以及 K 分別對應上述題目的N K
(1<=K<=N<=200000)
## OUTPUT
每筆測資輸出一行ANS 後換行,ANS代表上述問題的可能數量。但由於答案可能不小,請對1e9+7取模後輸出。
## 範測TEST
:bulb:
:::success
Input
1
10 3
Output
60
:::
:::success
Input
1
1 1
Output
2
:::
:::success
Input
3
7 2
6 2
5 2
Output
34
21
13
:::