import std.stdio;
import std.algorithm;
import std.string;
import std.range;
import std.array;
import std.conv;
import std.complex;
import std.math;
import std.ascii;
import std.bigint;
import std.container;


void main() {
	int n = to!int(readln().strip());
	int[][string] d = ["N": [0,1], "E": [1,0], "S": [0,-1], "W": [-1, 0]];
	while(n) {
		int[][] p;
		foreach(i; 0..n) {
			p ~= array(map!(to!int)(readln().strip().split()));
		}
		int m = to!int(readln().strip());
		bool[21][21] q;
		int x = 10;
		int y = 10;
		foreach(i; 0..m) {
			auto s = readln().strip().split();
			auto t = to!int(s[1]);
			foreach(j; 0..t) {
				x += d[s[0]][0];
				y += d[s[0]][1];
				q[x][y] = true;
			}
		}
		bool f = true;
		foreach(pi; p){
			f &= q[pi[0]][pi[1]];
		}
		writeln(f?"Yes":"No");

		n = to!int(readln().strip());
	}

}