#include <stdio.h>
#include <stdlib.h>
#include <math.h>
// 整数型2次元配列を使った方法
// 下方向を北と考えている(コンピュータとy軸は下方向がプラスだから)
main()
{
int n,m,i,j,x,y,ryo,takara;
int map[21][21];
char muki;
while(1){
// 文字と数字が混在した入力はうまく行かないことが多いが、
// scanfを使ってみた
scanf("%d", &n);
if(n==0) break;
// 地図クリア(何も無い=0)
for(j=0; j<=20; j++){
for(i=0; i<=20; i++){
map[i][j]=0;
}
}
// 宝石を置く(=1)
for(i=0; i<n; i++){
scanf("%d %d", &x, &y);
map[x][y]=1;
}
scanf("%d", &m);;
takara=0; // 見つけた宝石を数えてみた
x=10; y=10;
for(i=0; i<m; i++){
scanf("%c", &muki); // 改行読み飛ばし
scanf("%c %d", &muki, &ryo);
for(j=0; j<ryo; j++){
switch(muki){
case 'N': y++; break;
case 'E': x++; break;
case 'W': x--; break;
case 'S': y--; break;
}
if(map[x][y]){
takara++;
map[x][y]=0;
}
}
}
if(takara==n){
puts("Yes");
}else{
puts("No");
}
}
return(0);
}