Задачі
Запити на квадрантах
Запити на квадрантах
На площині розташовано \textbf{n} точок. \textbf{i}-та точка має координати (\textbf{x_i}, \textbf{y_i}). Необхідно виконати наступні запити, що задаються індексами граничних точок (\textbf{i} та \textbf{j}):
1) Відобразити усі точки від точки \textbf{i} до точки \textbf{j} відносно осі \textbf{X}. Запит подається у вигляді “\textbf{X i j}”
2) Відобразити усі точки від точки \textbf{i} до точки \textbf{j} відносно осі \textbf{Y}. Запит подається у вигляді “\textbf{Y i j}”
3) Обчислити, скільки точок від \textbf{i} до \textbf{j} лежить у кожному з \textbf{4} квадрантів. Запит подається у вигляді “\textbf{C i j}”
\InputFile
Перший рядок містить кількість точок \textbf{n} (\textbf{1} ≤ \textbf{n }≤ \textbf{100000}). Далі йдуть \textbf{n} рядків. \textbf{i}-ий рядок містить \textbf{x_i} та \textbf{y_i}, розділених проміжком. Наступний рядок містить кількість запитів \textbf{q} (\textbf{1} ≤ \textbf{q} ≤ \textbf{1000000}). Кожний з наступних \textbf{q} рядків містить один запит одного з вище наведеного вигляду. Усі індекси починаються з \textbf{1}. Жодна з точок не лежить ані на вісі\textbf{ X}, ані на вісі \textbf{Y}. Координати усіх точок (\textbf{x_i}, \textbf{y_i}) є \textbf{32}-бітовими знаковими цілими числами.
\OutputFile
Для кожного запиту вигляду “\textbf{C i j}” (\textbf{1} ≤ \textbf{i} ≤ \textbf{j} ≤ \textbf{n}) слід вивести один рядок, що містить \textbf{4} цілі числа: кількість точок з індексами на проміжку \[\textbf{i}..\textbf{j}\], що лежать у \textbf{1}-му, \textbf{2}-му, \textbf{3}-му та \textbf{4}-му квадрантах відповідно.
Вхідні дані #1
4 1 1 -1 1 -1 -1 1 -1 5 C 1 4 X 2 4 C 3 4 Y 1 2 C 1 3
Вихідні дані #1
1 1 1 1 1 1 0 0 0 2 0 1