import std.stdio;
import std.array;
import std.conv;
import std.typecons;
import std.algorithm;
import std.container;
import std.bigint;

void main(string[] argv)
{
	string[] results;
	while (true) {
		int N = to!int(readln.split[0]);
		if (N == 0) break;
		bool[21][21] area;
		foreach (i; 0..N) {
			auto strs = readln.split;
			int x = to!int(strs[0]);
			int y = to!int(strs[1]);
			area[x][y] = true;
		}
		int M = to!int(readln.split[0]);
		int x = 10, y = 10;
		int count = 0;
		bool success = false;
		foreach (i;0..M) {
			auto strs = readln.split;
			char d = strs[0][0];
			int l = to!int(strs[1]);
			int dx = d == 'E' ? 1 : (d == 'W' ? -1 : 0);
			int dy = d == 'N' ? 1 : (d == 'S' ? -1 : 0);
			foreach (j; 0..l) {
				x += dx; y += dy;
				if (area[x][y]) {
					count++;
					area[x][y] = false;
					if (count == N) {
						success = true;
						break;
					}
				}
			}
		}
		if (success) results ~= "Yes";
		else results ~= "No";
	}
	foreach (r; results)
		r.writeln;
}