#include<stdio.h>
#include<algorithm>
#include<math.h>
using namespace std;
double x[200];
double y[200];
double ux[100];
double uy[100];
double mx[100];
double my[100];
double sx[100];
double sy[100];
double PI=acos(-1);
int ans[200];
double Abs(double a){double ret=max(a,-a);if(ret>PI)ret=2*PI-ret;return ret;}
double dist(double x,double y){return sqrt(x*x+y*y);}
int main(){
	int a,b;
	while(scanf("%d%d",&a,&b),a){
		for(int i=0;i<a;i++)ans[i]=0;
		for(int i=0;i<a;i++)scanf("%lf%lf",x+i,y+i);
		int u,m,s;
		double du,dm,ds;
		scanf("%d%d%d%lf%lf%lf",&u,&m,&s,&du,&dm,&ds);

		du=PI*du/360;
		dm=PI*dm/360;
		ds=PI*ds/360;
		for(int i=0;i<u;i++){
			scanf("%lf%lf",ux+i,uy+i);
		}
		for(int i=0;i<m;i++){
			scanf("%lf%lf",mx+i,my+i);
		}
		for(int i=0;i<s;i++){
			scanf("%lf%lf",sx+i,sy+i);
		}
		for(int i=0;i<b;i++){
			double w,r;
			scanf("%lf%lf",&w,&r);
			w=PI*w/180;
			if(w>PI)w-=2*PI;
			for(int j=0;j<a;j++){
				bool ok=false;
				if(dist(x[j],y[j])<r&&Abs(atan2(y[j],x[j])-w)<du){
					ok=true;
				}
				for(int k=0;k<u;k++){
					if(dist(x[j]-ux[k],y[j]-uy[k])<r&&Abs(atan2(y[j]-uy[k],x[j]-ux[k])-w)<du)ok=false;
				}
				for(int k=0;k<m;k++){
					if(dist(x[j]-mx[k],y[j]-my[k])<r&&Abs(atan2(y[j]-my[k],x[j]-mx[k])-w)<dm)ok=false;
				}
				for(int k=0;k<s;k++){
					if(dist(x[j]-sx[k],y[j]-sy[k])<r&&Abs(atan2(y[j]-sy[k],x[j]-sx[k])-w)<ds)ok=false;
				}
				if(ok)ans[j]++;
			}
		}
		int val=0;
		for(int i=0;i<a;i++){
			val=max(val,ans[i]);
		//	printf("%d\n",ans[i]);
		}
		if(val==0)printf("NA\n");
		else{
			bool f=true;
			for(int i=0;i<a;i++){
				if(val==ans[i]){
					if(!f){printf(" ");}
					f=false;
					printf("%d",i+1);
				}
			}
			printf("\n");
		}
	}
}