#include <iostream>
#include <vector>

using namespace std;

char news[4]={'N','E','W','S'};
int to_x[4]={0, 1, -1, 0};
int to_y[4]={1, 0, 0, -1};

int main(){
    while(1){
        int gems;
        cin >> gems;
        if(gems==0) break;
        
        vector<vector<bool> > map(21,vector<bool>(21,false));
        int x,y;
        for(int i=0; i<gems; i++){
            cin >> x >> y;
            map[y][x] = true;
        }
        x = 10;
        y = 10;
        map[y][x] = false;
        
        int command, move;
        char direction;
        cin >> command;
        for(int i=0; i<command; i++){
            cin >> direction >> move;
            for(int j=0; j<4; j++){
                if(direction == news[j]){
                    for(int k=0; k<move; k++){
                        x+=to_x[j];
                        y+=to_y[j];
                        map[y][x] = false;
                    }
                }
            }
        }
        
        bool check = false;
        for(int i=0; i<=20; i++){
            for(int j=0; j<=20; j++){
                if(map[i][j] == true) check = true;
            }
        }
        if(check) cout << "No" << endl;
        else cout << "Yes" << endl;
    }
    
    return 0;
}
#include <stdio.h>

int main(){
    int n,m,i,j,x[20],y[20],z[30],p[31],q[31],a[20],b[20],c[20],s;
    char d[i];
    while(1) {
        scanf("%d",&n);
        if (n==0) break;
        for (i=0;i<n;i++) {
            scanf("%d %d",&x[i],&y[i]);
        }
        scanf("%d",&m);
        for (i=0;i<m;i++) {
            getchar();
            scanf("%c %d",&d[i],&z[i]);
        }
        p[0]=10;
        q[0]=10;
        for (i=0;i<m;i++) {
            p[i+1]=p[i];
            q[i+1]=q[i];
            if (d[i]=='N') {q[i+1]=q[i]+z[i];}
            if (d[i]=='S') {q[i+1]=q[i]-z[i];}
            if (d[i]=='E') {p[i+1]=p[i]+z[i];}
            if (d[i]=='W') {p[i+1]=p[i]-z[i];}
        }
        s = 1;
        for (i=0;i<n;i++) {
            c[i] = 0;
            for (j=0;j<m;j++) {
                a[i] = b[i] = 0;
                if ((x[i]<=p[j]&&x[i]>=p[j+1])||(x[i]>=p[j]&&x[i]<=p[j+1])) {
                    a[i]=1;
                }
                if ((y[i]<=q[j]&&y[i]>=q[j+1])||(y[i]>=q[j]&&y[i]<=q[j+1])) {
                    b[i]=1;
                }
                c[i] |= a[i]*b[i];
            }
        }
        for (i=0;i<n;i++) {
            s*=c[i];
        }
        if (s==1) {printf("Yes\n");}
        if (s!=1) {printf("No\n");}
    }
    return 0;
}