#include<stdio.h>
#include<stdlib.h>
#include<string.h>

#define NUM_OF_TREASURE 21

int main(void){
	int i,j,x,y,pos_x,pos_y,count;
	int N,M,step,length;
	int **jewel;
	char direction, buf[6];

	jewel = (int **)calloc(NUM_OF_TREASURE,sizeof(int *));
	for(i=0;i<NUM_OF_TREASURE;i++){
		jewel[i] = (int *)calloc(NUM_OF_TREASURE,sizeof(int));
	}

	while(scanf("%d",&N)!=EOF){
		if(N==0)break;
		for(i=0;i<NUM_OF_TREASURE;i++){
			for(j=0;j<NUM_OF_TREASURE;j++) jewel[i][j]=0;
		}
		for(i=0;i<N;i++){
			scanf("%d %d",&x,&y);
			jewel[x][y]+=1;
		}
		scanf("%d",&M);
		fgets(buf,sizeof(buf),stdin);

		pos_x=pos_y=10;
		count=0;
		for(i=0;i<M;i++){
			fgets(buf,sizeof(buf),stdin);
			length = strlen(buf);
			buf[length-1]='\0';
			direction=buf[0];

			if(length==4) step=buf[2]-'0';
			else if(length==5) step=(buf[2]-'0')*10 + buf[3]-'0';

			for(j=1;j<=step;j++){
				switch(direction){
				case 'N':
					pos_y++;
					break;
				case 'S':
					pos_y--;
					break;
				case 'E':
					pos_x++;
					break;
				case 'W':
					pos_x--;
					break;
				default:
					break;
				}
				if(jewel[pos_x][pos_y]==1){
					count++;
					jewel[pos_x][pos_y]=0;
				}
			}
		}

		if(count==N) printf("Yes\n");
		else printf("No\n");
	}

	for(i=0;i<NUM_OF_TREASURE;i++){
		free(jewel[i]);
	}
	free(jewel);

	return 0;
}