#include <stdio.h>
#include <stdlib.h>
int n;
struct window {
int no;
int x1;
int y1;
int x2;
int y2;
int layer;
}buf[15];
void judge(int x, int y)
{
int i,j=0,size=0;
int ans[5];//记录点击处的窗口号
for (i = 0;i < n;i++)
{
if (x >= buf[i].x1&&x <= buf[i].x2&&y >= buf[i].y1&&y <= buf[i].y2)
ans[j++] = i;
}
size = j;
if (size == 0) return;
int index = 0;
int min = buf[ans[index]].layer;
for (i = 0;i < size;i++)
{
if (buf[i].layer < min)
{
index = ans[i];
}
}
for (i = 0;i < n;i++)
{
if (buf[i].layer < buf[index].layer) buf[i].layer++;
}buf[index].layer = 1;
}
int main()
{
int p;
while (scanf("%d", &p)!=EOF)
{
freopen("c:\\input.txt", "r", stdin);
scanf("%d", &n);
int i;
for (i = 0;i < n;i++)
{
scanf("%d%d%d%d%d", &buf[i].no,&buf[i].x1, &buf[i].y1, &buf[i].x2, &buf[i].y2);
buf[i].layer = i+1;
}
int click;
scanf("%d", &click);
for(i=0;i<click;i++)
{
int x, y;
scanf("%d%d", &x, &y);
judge(x, y);
}
for (i = 0;i < n;i++)
{
printf("%d ", buf[i].layer);
}
}
return 0;
}