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

int main(void)
{
	int map[21][21];
	int N, M;
	int x, y;
	char d[10];
	int l;
	int dx, dy;
	int i, j;
	int count;
	
	while (1){
		scanf("%d", &N);
		if (N == 0){
			break;
		}
		
		memset(map, 0, sizeof(map));
		for (i = 0; i < N; i++){
			scanf("%d%d", &x, &y);
			map[y][x] = 1;
		}
		
		x = y = 10;
		count = map[y][x];

		scanf("%d", &M);
		for (i = 0; i < M; i++){
			scanf("%s", d);
			scanf("%d", &l);
			
			switch (d[0]){
			  case 'N':
			    dx = 0;
				dy = 1;
				break;

			  case 'S':
			    dx = 0;
				dy = -1;
				break;

			  case 'E':
			    dx = 1;
				dy = 0;
				break;

			  case 'W':
			    dx = -1;
				dy = 0;
				break;
			}
			
			for (j = 0; j < l; j++){
				x += dx;
				y += dy;
				count += map[y][x];

//if (map[y][x] != 0){
//	printf("[%d %d]", x, y);
//}

				map[y][x] = 0;
			}
		}
		if (count == N){
			printf("Yes\n");
		}
		else {
			printf("No\n");
		}
	}
	
	return (0);
}