#include <stdio.h>
#define NO_DATA 999
int main(int argc, const char * argv[]) {
    int targetCount = 0;
    int result[300];
    int resultCount = 0;
    for (int i = 0; i < 300; i++ ) {
        result[i] = NO_DATA;
    }
    scanf("%d",&targetCount);
    while (targetCount != 0) {
        int targetArray[21] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
        int robotX = 10;
        int robotY = 10;
        int x,y;
        for (int i=0; i<targetCount; i++) {
            scanf("%d %d",&x,&y);
            targetArray[y] = targetArray[y] | 1 << x;
        }
        char direction;
        int distance;
        int moveCount;
        scanf("%d",&moveCount);
        targetArray[robotY] = targetArray[robotY] & ~(1 << robotX);
        for (int j=0; j<moveCount; j++) {
            scanf("%s %d", &direction, &distance);
            for (int move = 0; move < distance; move++ ) {
                switch (direction) {
                    case 'N':
                        robotY += 1;
                        break;
                    case 'S':
                        robotY -= 1;
                        break;
                    case 'E':
                        robotX += 1;
                        break;
                    case 'W':
                        robotX -= 1;
                        break;
                    default:
                        break;
                }
                targetArray[robotY] = targetArray[robotY] & ~(1 << robotX);
            }
        }  
        int lastValue = 0;
        for (int i = 0; i<21; i++) {
            lastValue = lastValue | targetArray[i];
        }  
        result[resultCount] = lastValue == 0 ? 1 : 0;
        resultCount++;  
        scanf("%d",&targetCount);
    }
    for (int i = 0; i < resultCount; i++) {
        printf("%s\n",result[i] == 1 ? "Yes" : "No");
    }
    return 0;
}
