НСД запити#10470

НСД запити

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

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

\smash{\displaystyle\max_{l \leq i < j \leq r}} \gcd(a_i, a_j)

Вхідні дані

Перший рядок містить одне ціле число (2 \le n \le 2 \cdot 10^5 ) — розмір масиву.

Другий рядок містить цілих чисел a_1, a_2, \ldots, a_n (1 \le a_i \le 10^6) — елементи масиву.

Третій рядок містить одне ціле число (1 \le m \le 2 \cdot 10^5 ) — кількість запитів.

-ий з наступних рядків містить два цілі числа l_i, r_i (1 \le l_i < r_i \le n) — межі запиту.

Вихідні дані

Для кожного запиту виведіть одне ціле число — відповідь на нього.

Приклади

Приклад 1

Loading
Loading

Приклад 2

Loading
Loading

Примітка

\gcd(a, b)  — найбільший спільний дільник чисел .

Розглянемо другий приклад:

  • У перших чотирьох запитах відрізок складається лише з двох чисел, отже відповідь — їхній найбільший спільний дільник.

  • Запит : найбільший спільний дільник мають числа a_1 та a_4, \gcd(a_1, a_4)=\gcd(10, 50)=10.

  • Запит : потрібно порахувати \max(\gcd(a_3, a_4), \gcd(a_3, a_5), \gcd(a_4, a_5))=\max(2, 3, 1) = 3.

  • Запит : потрібно порахувати \max(\gcd(a_1, a_2), \gcd(a_1, a_3), \gcd(a_2, a_3))=\max(1, 2, 3) = 3.

Оцінювання

  1. ( балів): m, n, a_i \leq 200;

  2. ( балів): m, n \leq 200;

  3. ( балів): a_i \leq 50;

  4. ( балів): всі a_i — степені двійок;

  5. ( балів): m, n \leq 15000;

  6. ( балів): m, n \leq 35000;

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