Ґґлечики#12427

Ґґлечики

6 секунд
1 024 мегабайти
Дуже складна

Давньозакарпатська легенда, що передається споконвіку від покоління до покоління, каже: завжди важливо знати, ким ти є насправді. Адже той, хто не пізнав своєї суті, ризикує випити води з чарівного ґґлечика і до кінця життя лише гавкати на перехожих. Щоб уникнути цієї долі та нарешті розібратися в собі, вам потрібно вирішити магічне завдання від абхазького чаклуна Віктора.

Віктор оберігає ряд із ґґлечиків, кожен з яких має своє магічне число a_i​. Коли ви наливає в ґґлечик певну кількість літрів магічної рідини (Доместоса), спрацьовує прокляття подільності. Якщо об'єм рідини ділиться на магічне число ґґлечика, частина рідини миттєво витікає по трубах, поки залишок не перестає ділитися на це число.

Більш формально: якщо в ґґлечик із числом a_i​ налити літрів, то в ньому залишиться \frac{k}{a_i^p} літрів де — це найбільше ціле число, для якого ділиться на a_i^p​ націло. Наприклад, якщо в ґґлечик із числом налити літрів, то після магічних перетворень там залишиться лише літри.

Вам надається незалежних запитів. Кожен запит складається з трьох чисел: , та . Це означає, що ви наливаєте по літрів Доместоса в кожен ґґлечик на проміжку від номера до номера включно (індексація починається з нуля). Ваше завдання — порахувати сумарну кількість літрів, що залишиться в усіх цих ґґлечиках після дії магії.

Важливо пам'ятати, що всі запити є незалежними. Це означає, що перед кожним новим запитом Віктор ретельно миє всі ґґлечики, і вони стають абсолютно порожніми. Попередня магія ніяк не впливає на наступний ритуал.

Чи зможете ви розгадати цей алгоритм і довести Віктору, що гідні знати свою справжню подобу, чи залишитеся назавжди в полоні закарпатських чарів?

Вхідні дані

Перший рядок містить цілі числа і (1 \leq n, Q \leq 3 \cdot 10^6).

Другий рядок містить цілих чисел a_i, (2 \leq a_i \leq 5 \cdot 10^5).

В наступних рядках містяться числа l_i, r_i, k_i (1 \leq k \leq 5 \cdot 10^5), (0 \leq l \leq r < n).

Вихідні дані

В рядках виведіть сумарну кількість літрів, що залишиться в усіх цих ґґлечиках після дії магії, для кожного з запитів.

Приклади

Приклад 1

Loading
Loading

Примітка

У першому запиті l=1, r=3, k=20.

Розглядаємо ґґлечики з індексами від до : a_1=5, a_2=3, a_3=10.

Для ґґлечика з числом : ділиться на , але не ділиться на , тому залишиться \frac{20}{5}=4.

Для ґґлечика з числом : не ділиться на , тому залишиться .

Для ґґлечика з числом : ділиться на , але не ділиться на , тому залишиться \frac{20}{10}=2.

Отже, відповідь на перший запит: 4+20+2=26.

У другому запиті l=0, r=4, k=12.

Розглядаємо всі ґґлечики: a_0=2, a_1=5, a_2=3, a_3=10, a_4=2.

Для ґґлечиків з числом : ділиться на 2^2=4, але не ділиться на 2^3=8, тому в кожному з них залишиться \frac{12}{4}=3.

Для ґґлечика з числом : не ділиться на , тому залишиться .

Для ґґлечика з числом : ділиться на , але не ділиться на , тому залишиться \frac{12}{3}=4.

Для ґґлечика з числом : не ділиться на , тому залишиться .

Отже, відповідь на другий запит: 3+12+4+12+3=34.

У третьому запиті l=2, r=3, k=100.

Розглядаємо ґґлечики: a_2=3, a_3=10.

Для ґґлечика з числом : не ділиться на , тому залишиться .

Для ґґлечика з числом : ділиться на 10^2=100, тому залишиться \frac{100}{100}=1.

Отже, відповідь на третій запит: 100+1=101.

Таким чином, правильні відповіді для прикладу: , , .

Оцінювання

  1. Підзадача ( балів) : (n, Q \le 10^3)

  2. Підзадача ( балів) : (a_i = 2)

  3. Підзадача ( балів) : (a_0 = a_1 = a_2 = \ldots = a_{n - 1})

  4. Підзадача ( балів) : (l_i = 0, r_i = n - 1)

  5. Підзадача ( балів) : (усі a_i — прості)

  6. Підзадача ( балів) : (k_0 = k_1 = k_2 = \ldots = k_{Q - 1})

  7. Підзадача ( балів) : (усі a_i = 2^k)

  8. Підзадача ( балів) : (n, Q \leq 10^5)

  9. Підзадача ( балів) : Без додаткових обмежень