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

LCA Problem Revisited

LCA Problem Revisited

Задано підвішене дерево, яке містить \textbf{n} (\textbf{1} ≤ \textbf{n} ≤ \textbf{100000}) вершин, пронумерованих від \textbf{0} до \textbf{n-1}. Потрібно відповісти на \textbf{m} (\textbf{1} ≤ \textbf{m} ≤ \textbf{10000000}) запитів про найменшого спільного предка для пари вершин. Запити генеруються наступним чином. Задано числа \textbf{a_1}, \textbf{a_2} та числа \textbf{x}, \textbf{y} і \textbf{z}. Числа \textbf{a_3}, ..., \textbf{a_2m} генерються наступним чином: \textbf{ai = (x·a_\{i-2\}+y·a_\{i-1\}+z) mod n}. Перший запит має вид < \textbf{a_1}, \textbf{a_2} >. Якщо відповідь на \textbf{i-1}-й запит дорівнює \textbf{v}, то \textbf{i}-й запит має вид < \textbf{(a_\{2i-1\} + v) mod n}, \textbf{a_2i} >. \InputFile Перший рядок містить два числа: \textbf{n} та \textbf{m}. Корінь дерева має номер \textbf{0}. Другий рядок містить \textbf{n-1} цілих чисел, \textbf{i}-е з цих чисел рівне номеру предка вершини \textbf{i}. Третій рядок містить два цілих числа у діапазоні від \textbf{0} до \textbf{n-1}: \textbf{a_1} та \textbf{a_2}. Четвертий рядок містить три цілих числа: \textbf{x}, \textbf{y} та \textbf{z}, ці числа невід'ємні і не перевищують \textbf{10^9}. \OutputFile Виведіть суму номерів вершин - відповідей на усі запити.
Ліміт часу 2 секунди
Ліміт використання пам'яті 64 MiB
Вхідні дані #1
3 2
0 1
2 1
1 1 0
Вихідні дані #1
2