Відкат#1973

Відкат

4 секунди
256 мегабайтів
Дуже легка

Жонглювання тенісними м'ячами не лише укріплює серцево-судинну та м'язову системи й стабілізує дух, а й допомагає динамічно моделювати стійкі структури даних...

(Сергій Копелевич — з нездійсненої лекції)

Сергій — системний адміністратор у великій компанії. До його обов'язків входить створення резервних копій інформації, що зберігається на різних серверах, а також відновлення до попередніх версій у разі виникнення проблем.

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

Зараз у Сергія є точок відновлення для різних серверів, пронумерованих від до . Точка відновлення з номером дозволяє відкотитися для сервера a_i. Сергій вирішив розбити перенесення на етапи так, щоб на кожному етапі, у разі проблем, були доступні точки відновлення з номерами , l + 1, , для деяких та .

Для оптимального планування перенесення Сергію потрібно відповісти на запити: для заданого знайти мінімальне таке, що під час перенесення точки відновлення для принаймні різних серверів будуть доступні.

Допоможіть Сергію.

Вхідні дані

У першому рядку вхідних даних містяться два цілі числа і , розділені пробілом — кількість точок відновлення та кількість серверів (1 \leq n,\ m \leq 100\,000). У другому рядку записано цілих чисел a_1, a_2, \ldots, a_n — номери серверів, до яких належать відповідні точки відновлення (1 \leq a_i \leq m).

У третьому рядку задано число — кількість запитів (1 \leq q \leq 100\,000). Під час обробки запитів варто підтримувати число , яке спочатку дорівнює . Кожен запит задається парою чисел x_i та y_i. Використовуйте їх для обчислення даних запиту так:

l_i = ((x_i + p) \bmod n) + 1, \quad k_i = ((y_i + p) \bmod m) + 1 \quad (1 \leq l_i,\ x_i \leq n, \ 1 \leq k_i,\ y_i \leq m)

Нехай відповідь на -й запит — . Після обробки цього запиту значення змінюється на .

Вихідні дані

Для кожного запиту виведіть одне число — шуканий мінімальний , або 0, якщо такого не існує.

Приклади

Приклад 1

Loading
Loading