EduBrick

J. Миллион вершин

3000 мс · 128 МБ · всё или ничего

Та же задача про наименьшего общего предка, но вершин и запросов до миллиона, а памяти — сто двадцать восемь мегабайт.

Запросы порождаются формулой и не зависят от ответов: пары известны заранее.

Формат ввода

В первой строке nn и mm (1≤n≤1061 \le n \le 10^6, 1≤m≤1061 \le m \le 10^6). Во второй строке n−1n-1 чисел — родители вершин от 11 до n−1n-1.

В третьей строке a1a_1 и a2a_2, в четвёртой — xx, yy, zz (0≤x,y,z≤1090 \le x, y, z \le 10^9).

Числа порождаются правилом ai=(x⋅ai−2+y⋅ai−1+z) mod na_i = (x \cdot a_{i-2} + y \cdot a_{i-1} + z) \bmod n; ii-й запрос — пара (a2i−1,a2i)(a_{2i-1}, a_{2i}) без поправки на предыдущий ответ.

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

Выведите сумму номеров вершин — ответов на все запросы.

Примеры

ввод
3 2
0 1
2 1
1 1 0
вывод
1
ввод
1 2

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