#include <stdio.h>

int getDirection(char);

int main(){
  int jewel[21][21],x,y;
  int N,M,i,j,distance,can;
  int nx,ny,dir;
  const int dx[4] = {-1,0,1,0};
  const int dy[4] = {0,1,0,-1};
  char direction;
  char in; /* inテ」ツ?ッテ、ツスツ凖・ツ按?」ツ?ェテヲツ板ケティツ。ツ古」ツつ津ィツェツュテ」ツ?ソティツセツシテ」ツつ?ァツ板ィテ」ツ??*/

  while(1){
    nx = ny = 10;
    scanf("%d",&N);
    if(N == 0){ break; }
    for(i = 0 ; i < 21 ; i++){
      for(j = 0 ; j < 21 ; j++){
        jewel[i][j] = -1;
      }
    }
    for(i = 0 ; i < N ; i++){
      scanf("%d%d",&x,&y);
      jewel[y][x] = i;
    }
    scanf("%d%c",&M,&in);
    for(i = 0 ; i < M ; i++){
      scanf("%c%d%c",&direction,&distance,&in);
      dir = getDirection(direction);
      for(j = 0 ; j < distance ; j++){
        nx += dx[dir];
        ny += dy[dir];
        if(jewel[ny][nx] != -1){
          jewel[ny][nx] = -1;
        }
      }
    }
    can = 1;
    for(i = 0 ; i < 21 ; i++){
      for(j = 0 ; j < 21 ; j++){
        if(jewel[i][j] != -1){
          can = 0;
        }
      }
    }
    if(can == 1){ printf("Yes\n"); }
    else{ printf("No\n"); }
  }
  return 0;
}

int getDirection(char ch){
  if(ch == 'W'){ return 0; }
  if(ch == 'N'){ return 1; }
  if(ch == 'E'){ return 2; }
  if(ch == 'S'){ return 3; }
}