eolymp
bolt
Спробуйте наш новий інтерфейс для відправки розв'язків
Задачі

Спільний предок - 2

Спільний предок - 2

Задано підвішене дерево, яке містить n (1n105) вершин, пронумерованих від 0 до n - 1. Потрібно відповісти на m (1m107) запитів про найменшого спільного предка для пари вершин.

Запити генеруються наступним чином. Задано числа a1, a2 та числа x, y та z. Числа a3, ..., a2m генеруються наступним чином:

ai = (x * ai-2 + y * ai-1 + z) mod n.

Перший запит має вигляд <a1, a2>. Якщо відповідь на (i - 1)-й запит дорівнює v, то i-й запит має вигляд <(a2i-1 + v) mod n, a2i>.

Вхідні дані

Перший рядок містить два числа: n та m. Корінь дерева має номер 0. Другий рядок містить n - 1 цілих чисел, i-е з цих чисел дорівнює номеру предка вершины i. Третій рядок містить два цілих числа у діапазоні від 0 до n - 1: a1 та a2. Четвертий рядок містить три цілих числа: x, y та z, ці числа невід'ємні і не перевищують 109.

Вихідні дані

Виведіть у вихідний файл суму номерів вершин - відповідей на усі запити.

Ліміт часу 6 секунд
Ліміт використання пам'яті 128 MiB
Вхідні дані #1
3 2
0 1
2 1
1 1 0
Вихідні дані #1
2
Вхідні дані #2
1 2

0 0
1 1 1
Вихідні дані #2
0