在一个现代化的激光靶场中,人们决定组装一个新的靶子。这个靶子由一个完全由矩形数字屏幕覆盖的矩形区域组成,这些屏幕的大小各不相同。屏幕上会周期性地出现各种物体,需要对其进行射击。
然而,组装这样一个靶子并不容易。说明书中没有说明应该如何固定每个屏幕。相反,对于每个屏幕,都列出了与其共享边界的相邻屏幕,这些屏幕是按照顺时针方向从左下角开始沿屏幕周长遍历得到的。此时屏幕的方向是明确的,以便确定哪里是上方,哪里是下方,哪里没有问题。
组装好的靶子连接到了一台计算机上,以便自动根据激光击中的点坐标,确定激光击中了哪个(或哪些,如果是击中边界的情况)屏幕。不幸的是,带有该程序的磁盘丢失了。请你编写一个程序,根据说明书中的屏幕位置信息和激光击中点的坐标,确定激光击中了哪个屏幕。
输入格式
第一行包含两个正整数:$N$ — 屏幕数量,$K$ — 击中次数,$1 \leqslant N \leqslant 10\,000$,$1 \leqslant K \leqslant 40\,000$。
接下来有 $N$ 个块,第 $i$ 个块描述第 $i$ 个屏幕(屏幕编号从 $1$ 开始)。每个块包含两行:
- 第一行包含两个正整数:$W_i$ — 屏幕在 $X$ 轴上的宽度,$H_i$ — 屏幕在 $Y$ 轴上的高度,$G_i$ — 屏幕边界的段数。$1 \leqslant W_i, H_i \leqslant 10^6$,$4 \leqslant G_i \leqslant \max(4, N + 2)$。
- 第二行包含 $G_i$ 个整数 — 与第 $i$ 个屏幕在遍历其边界时相邻的屏幕编号,从左下角开始,按顺时针方向排列。如果某个边界段是外部边界,即该边界段的另一侧没有屏幕,则用 $-1$ 代替相邻屏幕编号。
接下来有 $K$ 行,每行描述激光击中的一个点。第 $j$ 行包含两个整数 — 第 $j$ 次击中点的坐标 $X_j$ 和 $Y_j$,$-100 \leqslant X_j, Y_j \leqslant 10^7$。
坐标原点定义为由所有给定屏幕组成的矩形靶子的左下角。$X$ 轴向右延伸,$Y$ 轴向上延伸。
输出格式
输出 $K$ 行,每行包含按升序排列的整数 — 激光击中第 $j$ 次击中点所在的屏幕编号。如果第 $j$ 个点没有击中任何屏幕(射击偏离了靶子),则在第 $j$ 行输出 $-1$。
样例
输入 1
3 5 110 100 5 -1 -1 -1 2 3 10 1000 4 3 1 -1 -1 100 1000 4 -1 1 2 -1 100 1 5 5 105 1000 105 1100 150 2000
输出 1
2 3 3 1 2 1 -1
Figure 1. 样例输入