Кількість розв'язків рівняння
Обмеження: 4 сек., 256 МіБ
Зеник уміє шукати кількість цілочислових розв’язків рівняння x1+x2+…+xn=k, що задовольняють обмеження 0≤xi≤ai для кожного i.
Марічка вважає цю задачу легкою та ускладнила її.
Задано масив a з n елементів.
Є запити двох типів:
1
i v — змінити ai на v2
k — знайти відповідь на задачу, описану в першому абзаці, для заданого k за модулем простого числа 109+7.
Поки Зеник чухає потилицю, опрацюйте запити Марічки.
Вхідні дані
Перший рядок містить ціле число n — кількість змінних у рівнянні.
У другому рядку записано n цілих чисел ai — обмеження на xi.
Третій рядок містить ціле число q — кількість запитів.
Кожен з наступних q рядків описує запит у форматі, зазначеному в умові.
Вихідні дані
Для кожного запиту другого типу в окремому рядку виведіть ціле число — кількість цілочислових розв’язків рівняння за модулем 109+7.
Обмеження
1≤n≤103,
1≤q≤105,
1≤i≤n,
0≤ai,v,k≤103.
Приклади
Вхідні дані (stdin) | Вихідні дані (stdout) |
---|---|
2 3 3 10 2 3 2 4 1 1 0 2 3 1 1 1 2 3 1 1 2 2 3 1 1 3 2 3 | 4 3 1 2 3 4 |