Вам даны два числа n и k. Назовем подмножество A множества {1, ..., n} хорошим, если любые два различные элемента A различаются не менее, чем на k. Найдите количество хороших множеств максимальной мощности. Так как ответ может быть достаточно большим, выведите его по модулю 109 + 7.
В первой строке дано целое число T – количество тестов, 1 ≤ T ≤ 105.
В следующих T строках через пробел даны по два целых числа 1 ≤ n ≤ 105 и 1 ≤ k ≤ 109.
Для каждого теста в отдельной строке выведите одно целое число – искомое количество множеств по модулю 109 + 7.
## Входные Данные
В первой строке дано целое число T – количество тестов, 1 ≤ T ≤ 105.В следующих T строках через пробел даны по два целых числа 1 ≤ n ≤ 105 и 1 ≤ k ≤ 109.
## Выходные Данные
Для каждого теста в отдельной строке выведите одно целое число – искомое количество множеств по модулю 109 + 7.
## Пример
Входные данные410 410 110 104 3Выходные данные41101
[samples]
**Definitions**
Let $ n, m \in \mathbb{Z}^+ $ denote the number of regions and queries, respectively.
Let $ A = (a_1, a_2, \dots, a_n) $ be a sequence where $ a_i \in \mathbb{Z}_{\geq 0} $:
- $ a_i = 0 $ indicates a water source at region $ i $,
- $ a_i > 0 $ indicates a tree of height $ a_i $ at region $ i $.
Let $ W = \{ i \in \{1, \dots, n\} \mid a_i = 0 \} $ be the set of water source positions.
For a given water level $ H \geq 0 $, define the *flooded region* from a water source at position $ i $ as the maximal contiguous interval $ [l_i, r_i] $ such that:
- $ l_i = \min \{ j \in \{1, \dots, i\} \mid \forall k \in [j, i-1],\ a_k < H \} \cup \{1\} $,
- $ r_i = \max \{ j \in \{i, \dots, n\} \mid \forall k \in [i+1, j],\ a_k < H \} \cup \{n\} $.
Define the *wet region set* under water level $ H $ as:
$$
F(H) = \bigcup_{i \in W} [l_i, r_i]
$$
**Constraints**
1. $ 1 \leq n, m \leq 10^6 $
2. $ 0 \leq a_i \leq 10^9 $ for all $ i \in \{1, \dots, n\} $
3. For each query: $ 1 \leq L \leq R \leq n $, $ 0 \leq H \leq 10^9 $
**Objective**
For each query $ (L, R, H) $, determine:
$$
\text{Is } F(H) \cap [L, R] \neq \emptyset \text{?}
$$
Output "Yes" if true, "No" otherwise.