#include<stdio.h>

#define MAP_NUM 21
#define NEUTRAL 10
#define COMMAND_NUM 30

void trace(int A[], int n){
	int i;
	for ( i = 1; i <= n; i++ ){
		if ( i > 1 ) printf(" ");
		printf("%d", A[i]);
	}
	printf("\n");
}

int main(){
    int jewel_num, command_num;
    int map[MAP_NUM][MAP_NUM], command[COMMAND_NUM];
    char direction[COMMAND_NUM], d_char;
    int k, m, i, j, flg;
    int x, y;

    while(1){
        /* ?????°???????????? */
        for(i = 0; i < MAP_NUM; i++){
            for(j = 0; j < MAP_NUM; j++){
                map[i][j] = 0;
            }
        }
        for(i = 0; i < COMMAND_NUM; i++){
            direction[i] = ' ';
            command[i] = 0;
        }
        x = NEUTRAL;
        y = NEUTRAL;

        /* ???????????°?????? */
        scanf("%d", &jewel_num);
        if(jewel_num == 0){
            /* 0????????????????????? */
            break;
        }

        /* ????????????????????? */
        for(i = 0; i < jewel_num; i++){
            scanf("%d", &k);
            scanf("%d", &m);
            map[k][m] = 1;
        }

        /* ?????????????§??????????????????°?????? */
        scanf("%d", &command_num);
        
        /* ?????????????§?????????????????????? */
        for(i = 0; i < command_num; i++){
            scanf("%c", &d_char);
            scanf("%c", &d_char);
            scanf("%d", &m);
            direction[i] = d_char;
            command[i] = m;
        }

        /* ???????????¢??? */
        for(i = 0; i < command_num; i++){
            for(j = 1; j <= command[i]; j++){
                /* ????§?????¢?????????? */
                if(direction[i] == 'N'){
                    y++;
                }
                if(direction[i] == 'E'){
                    x++;
                }
                if(direction[i] == 'W'){
                    x--;
                }
                if(direction[i] == 'S'){
                    y--;
                }

                /* ??????????????? */
                map[x][y] = 0;
            }
        }

        /* ??????????????°????????????????????????????????? */
        map[NEUTRAL][NEUTRAL] = 0;

        /* ???????????°????????§???????????? */
        flg = 0;
        for(i = 0; i < MAP_NUM; i++){
            for(j = 0; j < MAP_NUM; j++){
                if(map[i][j] != 0){
                    flg = 1;
                }
            }
        }
        if(flg != 0){
            /* ?????????????????§????????£???????????°No??????????????? */
            printf("No\n");
        }
        else{
            /* ???????????????????????£?????????????????°Yes??????????????? */
            printf("Yes\n");
        }
    }

	return 0;
}