소 가두기

각 소는 격자에서 아래와 오른쪽으로만 이동하며 울타리를 넘지 않고 도달할 수 있는 꽃이 몇 송이인지 구합니다.

어려움8세그먼트 트리정렬구간아직 제출이 없습니다시간 제한10초메모리 제한512 MB

문제

목장은 10610^6개의 행과 10610^6개의 열로 이루어진 격자다. 행은 위에서 아래로 11부터 10610^6까지, 열은 왼쪽에서 오른쪽으로 11부터 10610^6까지 번호가 붙어 있다.

목장에는 소 nn마리가 각각 한 칸씩 차지하고 서 있다. 민들레 꽃 mm송이도 각각 한 칸을 차지하며, 울타리 ff개가 세워져 있다. 울타리는 칸의 경계선을 따라 놓인 직사각형이다. 두 울타리는 서로 교차하거나 맞닿지 않는다. 다만 어떤 울타리가 다른 울타리가 둘러싼 안쪽에 통째로 들어 있을 수는 있다.

바람 때문에 소는 아래쪽이나 오른쪽으로만 움직인다. 칸 (r,c)(r, c)에 있는 소는 (r+1,c)(r + 1, c)(r,c+1)(r, c + 1)로 갈 수 있다. 다른 소나 꽃이 놓인 칸은 지나갈 수 있지만, 울타리는 넘지 못한다.

소마다 자기 칸에서 갈 수 있는 칸에 놓인 꽃이 몇 송이인지 세어라.

입력

입력은 울타리, 꽃, 소의 세 부분으로 이루어진다.

첫째 부분의 첫 줄에는 울타리의 개수 ff (0f2000000 \le f \le 200000)가 주어진다. 이어지는 ff개의 줄에는 울타리 하나를 나타내는 정수 r1r_1, c1c_1, r2r_2, c2c_2 (1r1r21061 \le r_1 \le r_2 \le 10^6, 1c1c21061 \le c_1 \le c_2 \le 10^6)가 주어진다. (r1,c1)(r_1, c_1)은 울타리 안쪽의 왼쪽 위 칸이고, (r2,c2)(r_2, c_2)는 울타리 안쪽의 오른쪽 아래 칸이다. 두 울타리가 교차하거나 맞닿는 경우는 없다.

둘째 부분의 첫 줄에는 꽃의 개수 mm (0m2000000 \le m \le 200000)이 주어진다. 이어지는 mm개의 줄 중 kk번째 줄에는 kk번째 꽃이 놓인 칸의 위치 rrcc (1r,c1061 \le r, c \le 10^6)가 주어진다. 두 꽃이 같은 칸에 놓이는 경우는 없다.

셋째 부분의 첫 줄에는 소의 개수 nn (1n2000001 \le n \le 200000)이 주어진다. 이어지는 nn개의 줄 중 kk번째 줄에는 kk번째 소가 서 있는 칸의 위치 rrcc (1r,c1061 \le r, c \le 10^6)가 주어진다. 두 소가 같은 칸에 서 있거나, 소와 꽃이 같은 칸에 있는 경우는 없다.

출력

nn개의 줄을 출력한다. kk번째 줄에는 kk번째 소가 갈 수 있는 칸에 놓인 꽃의 개수를 출력한다.

힌트

그림은 첫 번째 예제의 배치를 나타낸다.