Tianjin University Online Judge
Contests Virtual Contests Problems Submit Runs Status Rank List Forum

2519.   Make it Manhattan
Time Limit: 2.0 Seconds   Memory Limit: 65536K
Total Runs: 326   Accepted Runs: 126

Chaos City has grown out of control. Building have been built everywhere and the city layout is a complete mess. The mayor decided that this must come to an end, and wants to create a nice, structed city.

After some research, he found the ideal way to make this happen. Inspired by the New York district of Manhanttan, he wants all buidlings organized in a rectangular grid, separated by avenuesrunning from North to South and streets running from West to East. These streets and avenues should all be separated by the same distance D.

In the current situation, the buidlings are already organized in a rectangular grid. In fact each buidling fills exactly one square in this grid. However, with all the buildings randomly scattered across the city, it may be impossible to build the roads without demolishing a couple of buildings. To keep most citizens happy, the mayor wants to demolish as few buidlings as possible. Given the current locations of the buidlings, what's this minimum number?

The above picture illustrates the problem. The shaded squares are the initial locations of the buidlings. If the roads should be separated by a distance of three, the thick lines indicate the optimal placement of the roads and one building has to be demolished.


The first line of the input contains a single number: the number of test cases to follow. Each test case has the following format:

  • One line with two integers D and N, separated by a single space, satisfying 1 ≤ D ≤ 1,000 and 0 ≤ N ≤ 100,000: the distance between two roads, and the number of buidling in the city respectively.
  • N lines with two integers xi and yi, separated by a single space, satisfying -109xi, yi ≤ 109: the positions of the buidlings.


For every testcase in the input, the output should contains a single line with the minimum number of buidling that has to be demolished.

The example below corresponds to the picture in the text.

Sample Input

3 10
1 0
2 0
3 0
4 0
1 2
0 3
1 5
3 5
4 2
-2 2

Sample Output


Source: Benelux Algorithm Programming Contest 2006
Submit   List    Runs   Forum   Statistics

Tianjin University Online Judge v1.3.0
Maintance:G.D.Retop. Developer: SuperHacker, G.D.Retop