EduBrick

O. Сумма по строке

3000 мс · 256 МБ · всё или ничего

Дано число nn и qq запросов. В каждом запросе — пара (l,r)(l, r); надо вывести

∑k=lr(nk) mod (109+7)\sum_{k=l}^{r} \binom{n}{k} \bmod (10^9+7)

Отвечать на каждый запрос суммированием нельзя: запросов много, и каждый может охватывать всю строку.

Формат ввода

Первая строка содержит числа nn (0≤n≤2⋅1050 \le n \le 2 \cdot 10^5) и qq (1≤q≤2⋅1051 \le q \le 2 \cdot 10^5).

Далее идут qq строк, в каждой числа ll и rr (0≤l≤r≤n0 \le l \le r \le n).

Формат вывода

Для каждого запроса выведите ответ на отдельной строке.

Примеры

ввод
4 2
0 4
1 2
вывод
16
10
Войдите, чтобы отправлять решения.