EduBrick

O. Онлайн: сколько среди первых

4000 мс · 256 МБ · всё или ничего

Дан массив из nn чисел. Ответьте на qq запросов «сколько среди первых ii элементов значений, не превосходящих xx» — но запросы приходят зашифрованными: настоящие параметры получаются из данных прибавлением предыдущего ответа.

Для запроса номер jj (нумерация с единицы) по паре (ij,xj)(i_j, x_j) из входа вычисляются

i=((ij+prev) mod (n+1)),x=xj+prev,i = ((i_j + \text{prev}) \bmod (n + 1)), \qquad x = x_j + \text{prev},

где prev\text{prev} — ответ на предыдущий запрос (для первого запроса prev=0\text{prev} = 0).

Формат ввода

В первой строке — числа nn и qq (1≤n,q≤2⋅1051 \le n, q \le 2 \cdot 10^5). Во второй — nn чисел (∣ai∣≤109|a_i| \le 10^9). В следующих qq строках — пары iji_j и xjx_j (0≤ij≤n0 \le i_j \le n, ∣xj∣≤109|x_j| \le 10^9).

Формат вывода

На каждый запрос выведите количество элементов.

Примеры

ввод
5 3
3 1 4 1 5
5 3
0 0
2 -1
вывод
3
2
2
ввод
1 1
0
1 0
вывод
1
Разбор идеи от автора задачи. Сначала попробуйте сами.
Войдите, чтобы отправлять решения.