#abc057b. [abc057_b]Checkpoints

[abc057_b]Checkpoints

问题描述

NN 个学生和 MM 个检查点位于 xyxy 平面上。
ii 个学生(1iN1 \leq i \leq N)的坐标是 (ai,bi)(a_i,b_i),编号为 jj 的检查点(1jM1 \leq j \leq M)的坐标是 (cj,dj)(c_j,d_j)
当老师发出信号时,每个学生必须走到最近的检查点,以 曼哈顿距离 衡量。
两点 (x1,y1)(x_1,y_1)(x2,y2)(x_2,y_2) 之间的曼哈顿距离是 x1x2+y1y2|x_1-x_2|+|y_1-y_2|
这里,x|x| 表示 xx 的绝对值。
如果一个学生有多个最近的检查点,他/她将选择索引最小的检查点。
每个学生将去哪个检查点?

约束条件

  • 1N,M501 \leq N,M \leq 50
  • 108ai,bi,cj,dj108-10^8 \leq a_i,b_i,c_j,d_j \leq 10^8
  • 所有输入值都是整数。

输入

输入以以下格式从标准输入中给出:

NN MM
a1a_1 b1b_1
:
aNa_N bNb_N
c1c_1 d1d_1
:
cMc_M dMd_M

输出

打印 NN 行。
ii 行(1iN1 \leq i \leq N)应该包含第 ii 个学生要去的检查点的索引。


示例输入 1

2 2
2 0
0 0
-1 0
1 0

示例输出 1

2
1

第一个学生和每个检查点之间的曼哈顿距离是:

  • 对于检查点 1:2(1)+00=3|2-(-1)|+|0-0|=3
  • 对于检查点 2:21+00=1|2-1|+|0-0|=1

最近的检查点是检查点 2。因此,输出的第一行应该包含 2。

第二个学生和每个检查点之间的曼哈顿距离是:

  • 对于检查点 1:0(1)+00=1|0-(-1)|+|0-0|=1
  • 对于检查点 2:01+00=1|0-1|+|0-0|=1

当有多个最近的检查点时,学生将去具有最小索引的检查点。因此,输出的第二行应该包含 1。


示例输入 2

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

示例输出 2

3
1
2

相同坐标可能有多个检查点。


示例输入 3

5 5
-100000000 -100000000
-100000000 100000000
100000000 -100000000
100000000 100000000
0 0
0 0
100000000 100000000
100000000 -100000000
-100000000 100000000
-100000000 -100000000

示例输出 3

5
4
3
2
1