%
% Зимние всероссийские школьные учебно-тренировочные сборы по информатике
%   01 декабря 2010
%
% Условие: Михаил Пядеркин
% Тесты: Сергей Копелиович
% Идея: Сергей Копелиович
%

\begin{problem}{Менеджер памяти}{стандартный ввод}{стандартный вывод}
{10 секунд}{512 мебибайт}{}

Одно из главных нововведений новейшей операционной системы Indows 7 "--- новый
менеджер памяти. Он работает с массивом длины $N$ и позволяет выполнять три
самые современные операции:

\begin{itemize}
\item \t{copy(a, b, l)} "--- скопировать отрезок длины $[a, a+l-1]$
  в $[b, b+l-1]$
\item \t{sum(l, r)} "--- посчитать сумму элементов массива на отрезке $[l, r]$
\item \t{print(l, r)} "--- напечатать элементы с $l$ по $r$, включительно
\end{itemize}

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

\InputFile

Первая строка входного файла содержит целое число $N$
($1 \le N \le 1\,000\,000$) "--- размер массива, с которым будет
работать Ваш менеджер памяти.

Во второй строке содержатся четыре числа $1 \le X_1, A, B, M \le 10^9 + 10$.
С помощью них можно сгенерировать исходный массив чисел
$X_1, X_2, \cdots, X_N$. $X_{i + 1} = (A * X_i + B) \mod M$

Следующая строка входного файла содержит целое число $K$
($1 \le K \le 200\,000$) "--- количество запросов, которые необходимо
выполнить Вашему менеджеру памяти.

Далее в $K$ строках содержится описание запросов. Запросы заданы в формате:

\begin{itemize}
\item \t{cpy} $a$ $b$ $l$ "--- для операции \t{copy}
\item \t{sum} $l$ $r$ "--- для операции \t{sum} ($l \le r$)
\item \t{out} $l$ $r$ "--- для операции \t{print} ($l \le r$)
\end{itemize}

Гарантируется, что суммарная длина запросов \t{print} не превышает $3\,000$.
Также гарантируется, что все запросы корректны.

\OutputFile

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

\SubtaskOne

Дополнительные упрощения: $N, K \le 20\,000$

Решение оценивается в {\bf 25 баллов}.

\SubtaskTwo

Дополнительные упрощения: суммарная длина запросов \t{copy}
не превосходит $1\,000\,000$.

Решение оценивается в {\bf 25 баллов}.

\SubtaskThree

Дополнительные упрощения: $K \le 10\,000$.

Решение оценивается в {\bf 25 баллов}.

       
\SubtaskFour

Дополнительные упрощения отсутствуют.

Решение оценивается в {\bf 25 баллов}.

\Example

\begin{example}
\exmp{
6
1 4 5 7
8
out 1 6
sum 1 6
cpy 1 3 2
out 3 4
sum 3 4
cpy 1 2 4
out 1 6
sum 1 6
}{
1 2 6 1 2 6 
18
1 2 
3
1 1 2 1 2 6 
13
}%
\end{example}
\end{problem}
