Problems
Криптекс
Криптекс
\includegraphics{https://static.e-olymp.com/content/9f/9f2b2cd179be0a090d2aef2ae475596ad5370440.jpg}
Роберт Ленгдон найшёл древний криптекс, на котором вместо букв в каждой клеточке записано некоторое число. Криптекс - это цилиндр, у которого \textbf{M} строк и \textbf{N} столбиков. Строки нумеруются от \textbf{0} до \textbf{M-1} и столбики от \textbf{0} до \textbf{N-1}. В каждой клеточке криптекса записаны натуральные числа. Каждая строка криптекса крутится влево и вправо. Чтобы открыть криптекс Роберту нужно уметь быстро крутить строки, а также быстро подсчитывать сумму чисел на некотором прямоугольнике.
Для каждого запроса о подсчёте суммы на прямоуголике вывести указанную сумму на экран.
\InputFile
В первой строке задано \textbf{2} числа: \textbf{N}, \textbf{M} -- размеры криптекса (\textbf{1} ≤ \textbf{N}, \textbf{M} ≤ \textbf{1000}). В последующих \textbf{M} строках в каждой строке по \textbf{N} чисел -- числа, записанные в начальной конфигурации криптекса (матрица \textbf{А}, \textbf{0} ≤ \textbf{A_ij} ≤ \textbf{1000}). В следующей строке \textbf{Q} -- количество запросов (\textbf{1} ≤ \textbf{Q} ≤ \textbf{1000}). Всього есть \textbf{3} типа запросов:
\begin{itemize}
\item \textbf{? a b c d} -- посчитать сумму на прямоугольнике: \textbf{a} ≤ \textbf{i} ≤ b, \textbf{c} ≤ \textbf{j} ≤ \textbf{d}: \textbf{a}, \textbf{b} -- номера строк, \textbf{c}, \textbf{d} -- номера столбиков (\textbf{1} ≤ \textbf{a} ≤ \textbf{b} ≤ \textbf{M}, \textbf{1} ≤ \textbf{c}, \textbf{d} ≤ \textbf{N}. Если \textbf{c} > \textbf{d} то нужно посчитать сумму на двух прямоугольниках\textbf{(a, b, c, n-1)} та \textbf{(a, b, 0, d)});
\item \textbf{ml l r val} -- прокрутить все строки от \textbf{l} до \textbf{r} включительно на \textbf{val} позиций влево;
\item \textbf{mr l r val} -- прокрутить все строки от \textbf{l} до \textbf{r} включительно на \textbf{val} позиций вправо (\textbf{1} ≤ \textbf{l} ≤ \textbf{r} ≤ \textbf{M}, \textbf{1} ≤ \textbf{val}≤ \textbf{1000}).
\end{itemize}
\OutputFile
Для всех запросов типа "\textbf{?}" вывести ответ на этот запрос.
Input example #1
4 4 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 7 ? 0 3 0 3 ? 1 3 1 3 ml 1 2 2 ? 1 3 1 3 ? 0 3 1 2 mr 2 3 1 ? 0 3 1 2
Output example #1
136 99 95 68 68