Олимпиадный тренинг

Задача . Банды Фомина №2


Банда Фомина состоит из n групп, в каждой из которых ai человек. Планируется провести q рейдов. В i-ом рейде будет участвовать ровно один разбойник из каждой группы, номер которой лежит в отрезке [li,ri].

Мелехов тоскует, поэтому для каждого рейда он решил посчитать количество возможных отрядов по модулю 109+7. Однако Григорий постоянно находится в раздумьях о смысле жизни и поиске правды, поэтому он не может сконцентрироваться на расчетах и просит вас помочь.

Входные данные
В первой строке дано число n (1<=n<=105) – количество групп в банде Фомина.
Во второй строке дано n натуральных чисел ai (1<=ai<=106) – количество человек в i-ой группе.
В третьей строке дано число q – количество рейдов.
Далее дано q строк, в каждой из которых дано два числа – li и ri (1<=li<=ri<=n) – номера групп, участвующих в i-ом рейде.

Выходные данные
Выведите q чисел, каждое в отдельной строке – ответ на задачу.

 

Примеры
Входные данные Выходные данные
1 6
1 3 7 1 4 100
3
1 3
3 4
2 6
21
7
8400

time 1000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
С++ Mingw-w649
Комментарий учителя