#include <stdio.h>
#define SIZE 20
#define show {for(i=1;i<=SIZE;i++){for(j=1;j<=SIZE;j++)printf("%d",map[j][i]);puts("");}puts("");}

int main(void){
	int N, M, map[SIZE+1][SIZE+1], x, y, i, j, k;
	
	while(scanf("%d",&N), N!=0){
		/* ú» */
		for(i=1; i<=SIZE; i++)
			for(j=1; j<=SIZE; j++) map[i][j]=0;
	
		/* WFðzu */
		for(;N--;){
			scanf("%d %d",&i,&j);
			map[i][j]=1;
		}
		
		/* ¤ */
		x=SIZE/2, y=SIZE/2;
//		map[x][y]=0;
		
		/* Ú® */
		scanf("%d%*c",&M);
		for(;M--;){
			scanf("%c %d%*c",&i,&k);
			
			switch(i){	/* i:ûü(¡c), j:³ */
				case 'N': i=1, j=1; break;	case 'S': i=1, j=-1; break;
				case 'E': i=0, j=1; break;	case 'W': i=0, j=-1; break;
			}
			
			if(i)
				for(;k--;) map[x][y+=j]=0;
			else
				for(;k--;) map[x+=j][y]=0;
			map[x][y]=0;
		}
		
		/* `FbN */
		for(i=1; i<=SIZE; i++)
			for(j=1; j<=SIZE; j++)
				if(map[i][j]>0) goto brk;		
		brk:
		
		if(i<=SIZE || j<=SIZE) printf("No\n");
		else printf("Yes\n");
	}
	
	return 0;
}