EduBrick

H. Разреженная таблица

2500 мс · 64 МБ · всё или ничего

Дан массив из nn чисел. Нужно отвечать на запросы «минимум на отрезке». Запросов до десяти миллионов, и они порождаются формулой, зависящей от предыдущего ответа.

Формат ввода

В первой строке три числа nn, mm и a1a_1 (1≤n≤1051 \le n \le 10^5, 1≤m≤1071 \le m \le 10^7, 0≤a1<16 714 5890 \le a_1 < 16\,714\,589). Во второй строке два числа u1u_1 и v1v_1 (1≤u1,v1≤n1 \le u_1, v_1 \le n) — первый запрос.

Массив продолжается правилом ai+1=(23⋅ai+21563) mod 16 714 589a_{i+1} = (23 \cdot a_i + 21563) \bmod 16\,714\,589.

Запросы: ui+1=((17ui+751+ansi+2i) mod n)+1u_{i+1} = \bigl((17 u_i + 751 + ans_i + 2i) \bmod n\bigr) + 1, vi+1=((13vi+593+ansi+5i) mod n)+1v_{i+1} = \bigl((13 v_i + 593 + ans_i + 5i) \bmod n\bigr) + 1, где ansians_i — ответ на ii-й запрос. Границы могут идти в любом порядке: uiu_i бывает больше viv_i.

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

Выведите три числа: umu_m, vmv_m и ansmans_m — последний запрос и ответ на него.

Примеры

ввод
10 8 12345
3 9
вывод
5 3 1565158
ввод
1 5 0
1 1
вывод
1 1 0
Разбор идеи от автора задачи. Сначала попробуйте сами.
Войдите, чтобы отправлять решения.