Problems
Count Online
Count Online
Вам дано множество точек на плоскости.
Нужно уметь отвечать на два типа запросов:
\begin{itemize}
\item \textbf{? x_1 y_1 x_2 y_2} --- сказать, сколько точек лежит в прямоугольнике \[\textbf{x_1}..\textbf{x_2}\]×\[\textbf{y_1}..\textbf{y_2}\]. Точки на границе и в углах тоже считаются. \textbf{x_1} ≤ \textbf{x_2}, \textbf{y_1} ≤ \textbf{y_2}.
\item \textbf{+ x y} --- добавить в множество точку (\textbf{x + res \% 100}, \textbf{y + res \% 101}). Где \textbf{res} --- ответ на последний запрос вида \textbf{?}, а \textbf{\%} --- операция взятия по модулю.
\end{itemize}
\InputFile
Число точек \textbf{N} (\textbf{1} ≤ \textbf{N} ≤ \textbf{50000}). Далее \textbf{N} точек. Число запросов \textbf{Q} (\textbf{1} ≤ \textbf{Q} ≤ \textbf{100000}). Далее \textbf{Q} запросов. Все координаты от \textbf{0} до \textbf{10^9}.
\OutputFile
Для каждого запроса \textbf{GET} выведите одно целое число --- количество точек внутри прямоугольника.
Input example #1
5 0 0 1 0 0 1 1 1 1 1 9 ? 0 1 1 2 + 1 2 + 2 2 ? 1 0 2 2 ? 0 0 0 0 + 3 3 ? 3 3 3 3 ? 4 3 4 3 ? 4 4 5 5
Output example #1
3 3 1 0 0 3
Example description: На самом деле добавлялись точки (4, 5), (5, 5), (4, 4).