#include <stdio.h>

int main(int argc, const char * argv[]) {
    int n=0,xi,yi,m,lj=0,car_position[2]={10,10},gem_position[21][21]={0},i,j,pocket=0;
    char dj = '\0';
    int a[2];
    while (1) {
        
        scanf("%d",&n);
        
        if (n == 0) {
            break;
        }
        
        for (i=0; i<n; i++) {
            //gem position
            scanf("%d %d",&xi,&yi);
            gem_position[yi][xi] = 1;
        }
        //???????????°
        //printf("meirei");
        scanf("%d",&m);
        
        for (i = 0; i < m; i++) {
            
            scanf(" %c %d",&dj,&lj);
            //a[0] ??£??????????????????????????????a[1]???y???x??????
            //char?????¨????????£????????¨???''dekakomu
            if (dj == 'N') {
                a[0] = 1;
                a[1] = 1;
            } else if (dj == 'S') {
                a[0] = -1;
                a[1] = 1;
            } else if (dj == 'E') {
                a[0] = 1;
                a[1] = 0;
            } else if (dj == 'W'){//W
                a[0] = -1;
                a[1] = 0;
            }
            //???????????? ?????¢?????°?????? car_position[0] = x car_position[1] = y
            for (j = 0; j < lj; j++) {
                car_position[a[1]] += a[0]*1;
                
                if (gem_position[car_position[1]][car_position[0]] == 1) {
                    gem_position[car_position[1]][car_position[0]] = 0;
                    //printf("get\n");
                    pocket++;
                }
                
            }
            
        }
        
        
        if (n == pocket) {
            printf("Yes\n");
        } else {
            printf("No\n");
        }
        
        pocket = 0;
        for (i = 0; i < 21; i++) {
            for (j = 0; j<21; j++) {
                gem_position[i][j] = 0;
            }
        }
        
        car_position[0] = 10;
        car_position[1] = 10;
        
    }
    return 0;
}