버펄로 울타리

정착민이 차례로 도착할 때, 강과 울타리로 둘러싸여 자기 말뚝을 오른쪽 위 모서리로 하는 영역 안에 있는 버팔로 수를 각각 구한다.

어려움8정렬누적 합스택BFS아직 제출이 없습니다시간 제한5초메모리 제한512 MB

문제

서부의 목장은 좌표평면 제1사분면에 놓인 직사각형 격자다. 목장에는 버펄로 nn마리가 흩어져 있고, 버펄로 한 마리는 단위 정사각형 한 칸을 차지한다. 버펄로에는 11번부터 nn번까지 번호가 붙어 있으며, jj번 버펄로는 오른쪽 위 꼭짓점이 정수 좌표 (xj,yj)(x_j, y_j)인 단위 정사각형에 있다. 두 좌표축은 원점에서 만나는 강이고, 버펄로는 이 강 때문에 왼쪽이나 아래쪽으로 나갈 수 없다.

정착민 mm명이 한 명씩 차례로 도착해 다음 순서로 땅을 차지한다.

  1. 정수 좌표점을 하나 골라 그 자리에 울타리 기둥을 하나 세운다. 고른 점에는 먼저 세운 기둥이 없고 먼저 세운 울타리도 지나지 않는다. 또 어떤 두 기둥도 xx좌표가 같지 않고, yy좌표도 같지 않다.
  2. 기둥에서 시작해 왼쪽으로 가로 울타리를, 아래쪽으로 세로 울타리를 세운다. 두 울타리 모두 강이나 이미 서 있는 울타리에 닿을 때까지 최대한 길게 이어진다.
  3. 울타리와 강으로 둘러싸인 영역 가운데 오른쪽 위 꼭짓점이 자기 기둥인 영역을 통째로 차지하고, 그 안에 있는 버펄로도 모두 가진다. 나중에 도착한 정착민이 앞선 정착민의 땅을 다시 차지하기도 한다.

정착민마다 도착한 순간에 차지한 버펄로가 몇 마리인지 구하시오.

입력

첫째 줄에 버펄로의 수 nn이 주어진다 (1n3000001 \le n \le 300000). 다음 nn개의 줄 중 jj번째 줄에는 jj번 버펄로의 위치를 나타내는 두 정수 xjx_jyjy_j가 주어진다 (1xj,yj1091 \le x_j, y_j \le 10^9). 위치가 같은 버펄로는 없다.

그다음 줄에 정착민의 수 mm이 주어진다 (1m3000001 \le m \le 300000). 다음 mm개의 줄 중 jj번째 줄에는 jj번째 정착민이 세운 기둥의 좌표 xjx'_jyjy'_j가 주어진다 (1xj,yj1091 \le x'_j, y'_j \le 10^9). xjx'_j는 모두 다르고, yjy'_j도 모두 다르다.

출력

mm개의 줄을 출력한다. jj번째 줄에는 jj번째 정착민이 도착했을 때 차지한 버펄로의 수를 출력한다.

힌트

그림은 첫 번째 예제에서 정착민 네 명이 모두 도착한 뒤의 목장이다. 회색 원은 버펄로, 흰 원은 울타리 기둥이다.