CCF201403-2
#include<iostream>
using namespace std;
typedef struct{
int x1,x2;
int y1,y2;
int Num;
}Window;
Window* init(int n){
Window* ans = new Window[n+1];
for(int i=1;i<=n;i++){
cin>>ans[i].x1>>ans[i].y1>>ans[i].x2>>ans[i].y2;
ans[i].Num = i;
}
return ans;
}
bool InWindow(Window w,int x,int y){
if(x>=w.x1&&x<=w.x2&&y>=w.y1&&y<=w.y2)
return true;
return false;
}
void visit( Window* q,int n){
int x,y;
int flag = 0;
cin>>x>>y;
for(int i=n;i>0;i--){
if(InWindow(q[i],x,y)){
flag = 1;
cout<<q[i].Num<<endl;
Window tmp = q[i];
for(int j=i;j<n;j++){
q[j] = q[j+1];
}
q[n] = tmp;
break;
}
}
if(flag==0)
cout<<"IGNORED"<<endl;
}
void func(){
int n,m;
cin>>n>>m;
Window* queue = init(n);
for(int i=0;i<m;i++){
visit(queue,n);
}
}
int main(){
func();
return 0;
}