Менеджер пам`яті#4310

Менеджер пам`яті

10 секунд
512 мегабайтів
Середня

Одне з головних нововведень найновішої операційної системи Indows 7 - новий менеджер пам'яті. Він працює з масивом довжиною і дозволяє виконувати три найсучасніші операції:

Ви є розробником своєї операційної системи, і Ви, безумовно, не можете обійтись без інноваційних технологій. Вам необхідно реалізувати точно такий самий менеджер пам'яті.

Вхідні дані

Перший рядок вхідного файлу містить ціле число (1 \leq N \leq 1000000) - розмір масиву, з яким буде працювати Ваш менеджер пам'яті.

У другому рядку містяться чотири числа 1 \leq X_1, A, B, M \leq 10^9+10. З їх допомогою можна згенерувати початковий масив чисел X_1, X_2, \dots, X_N. X_{i+1} = (A \cdot X_i + B) \bmod M.

Наступний рядок вхідного файлу містить ціле число (1 \leq K \leq 200000) - кількість запитів, які необхідно виконати Вашому менеджеру пам'яті.

Далі у рядках містяться описи запитів. Запити задано у форматі:

  • cpy - для операції copy;

  • sum - для операції sum (l \leq r);

  • out - для операції print (l \leq r).

Гарантується, що сумарна довжина запитів print не перевищує . Також гарантується, що усі запити коректні.

Вихідні дані

Для кожного запиту sum або print виведіть у вихідний файл у окремому рядку результат запиту.

Приклади

Приклад 1

Loading
Loading