Uzhland Union Bank#8273

Uzhland Union Bank

1 секунда
64 мегабайти
Легка

У базі найстарішого ужлянського банку Uzhland Union Bank рахунки пронумеровані числами від до . На кожному рахунку відкрита необмежена кредитна лінія, тобто баланс може бути від'ємним. Банківська система підтримує три типи операцій:

  1. — додати значення до кожного рахунку з номерами від до .

  2. — додати значення до кожного рахунку з номерами , , і так далі (всі позитивні кратні , що не перевищують ).

  3. — обчислити загальний баланс рахунків з номерами від до (включно).

Потрібно змоделювати роботу цієї системи та виконати всі задані операції.

Вхідні дані

У першому рядку записано одне ціле число (1 \le N \le 10^5) — кількість рахунків.

У другому рядку йдуть цілих чисел a_1, a_2, \ldots, a_N (|a_i| \le 10^9) — початкові баланси рахунків.

У третьому рядку міститься одне ціле число (1 \le M \le 10^5) — кількість операцій.

Наступні рядків описують самі операції. Перше число кожного рядка — це тип операції (ціле число від до ):

  • Якщо тип операції , далі йдуть три цілі числа , і (1 \le l \le r \le N;\ |c| \le 10^4).

  • Якщо тип операції , далі йдуть два цілі числа та (1 \le d \le N;\ |c| \le 10^4).

  • Якщо тип операції , далі йдуть два цілі числа і (1 \le l \le r \le N).

Вихідні дані

Для кожної операції третього типу виведіть суму балансів вказаних рахунків у окремому рядку.

Приклади

Приклад 1

Loading
Loading