Croation Olympiad in Informatics - 2010

Task HRASTOVI

The government is planing to build a walkway for tourists in the middle of an oak forest. The forest can be represented as plane with N special lattice points representing oaks.

The walkway is represented as a rectangle with sides parallel to the axes. If the sides of walkway rectangle intersect any oak lattice points, such oaks need to be axed down. Oaks inside the rectangle do not represent problems and need not be cut down.

Ljubo is the state secretary of Forestry and an passionate nature lover, so he ordered the secretary of Tourism to provide him with a list of P possible rectangle walkways that are attractive enough to draw in tourists.

Ljubo plans to select the walkway that needs the smallest amount of oak trees to be cut down. Since we also like trees, would you be so kind and write a program that will determine the number of oaks that will be cut down for each walkway. Remember only the oaks intersecting the sides of the rectangle need to be cut.

Input

The first line of input contains one integer N (1 ≤ N ≤ 300 000), number of oaks.

The next N lines contain two integers each X and Y (1 ≤ X, Y ≤ 109) coordinates of oaks. There will be at most one oak on each lattice point.

The next line contains one integer P (1 ≤ P ≤ 100 000), number of walkways.

The next P lines contain four integers each X1, Y1, X2 and Y2 (1 ≤ X1 < X2 ≤ 109, 1 ≤ Y1 < Y2 ≤ 109) coordinates of the lower left (X1, Y1) and upper right (X2, Y2) corner of the rectangle.

Output

Output P integers, one per line, the number of oaks that need to be cut down for each walkway in the order they are presented in the input.

Scoring

Test data worth 30% of points has (1 ≤ X1 < X2 ≤ 103, 1 ≤ Y1 < Y2 ≤ 103).

Test data worth 60% of points has (1 ≤ X1 < X2 ≤ 106, 1 ≤ Y1 < Y2 ≤ 106).

Sample Input

6
1 2
3 2
2 3
2 5
4 4
6 3
4
2 2 4 4
2 2 6 5
3 3 5 6
5 1 6 6

Sample Output

3
4
0
1

All Submissions
Best Solutions


Point Value: 15 (partial)
Time Limit: 3.00s
Memory Limit: 32M
Added: Jul 02, 2013

Languages Allowed:
C++03, PAS, C, HASK, ASM, RUBY, PYTH2, JAVA, PHP, SCM, CAML, PERL, C#, C++11, PYTH3

Comments (Search)

Verdict TLE,solution in O((N+M)*(logC+logM+logN)) where C is const and is 10^9. Any hint or advice?

wheres M? I assume M is P, that is 4x10^5 * (20 + 15 + 15), 4x10^5 * 70, which is about 28 x 10^6, which is going to tle on the wcipeg judge, this is also not factoring your coordinate compression and other factors. You can solve this in O(N+M) log (N)