using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Contest
{
    class Program
    {
        static int Main(string[] args)
        {
            new Program().Process();

            return 0;
        }

        private CommonInput cin;

        private void Process()
        {
            this.cin = new CommonInput();

            int n, x, y, rx, ry;
            string move = "";
            Func<int, int> incdec = new Func<int,int>(z => z);
            bool[,] map = new bool[21, 21];

            while (true)
            {
                for (int i = 0; i < 21; i++)
                    for (int j = 0; j < 21; j++)
                        map[i, j] = false;

                n = this.cin.GetNextToInt();
                x = y = 10;

                // ??\????????????????????¨???????????????????????????????????¨???????????¨??????????????\??????????????????
                if (n == 0)
                    break;

                for (int i = 0; i < n; i++)
                    map[this.cin.GetNextToInt(), this.cin.GetNextToInt()] = true;

                map[10, 10] = false;

                n = this.cin.GetNextToInt();

                for (int i = 0; i < n; i++)
                {
                    rx = ry = 0;
                    move = this.cin.GetNext();
                    switch (move)
                    {
                        case "N":
                            ry = this.cin.GetNextToInt();
                            incdec = new Func<int, int>(z => ++z);
                            break;
                        case "S":
                            ry = this.cin.GetNextToInt();
                            incdec = new Func<int, int>(z => --z);
                            break;
                        case "E":
                            rx = this.cin.GetNextToInt();
                            incdec = new Func<int, int>(z => ++z);
                            break;
                        case "W":
                            rx = this.cin.GetNextToInt();
                            incdec = new Func<int, int>(z => --z);
                            break;
                    }

                    for (int j = 0; j < rx; j++)
                    {
                        x = incdec(x);
                        map[x, y] = false;
                    }

                    for (int j = 0; j < ry; j++)
                    {
                        y = incdec(y);
                        map[x, y] = false;
                    }
                }

                Console.WriteLine(this.Check(map));
            }
        }

        private string Check(bool[,] map)
        {
            bool result = false;

            for (int i = 0; i < 21; i++)
                for (int j = 0; j < 21; j++)
                    result |= map[i, j];

            return result ? "No" : "Yes";
        }
    }

    public class CommonInput
    {
        public CommonInput()
        {
            this._s = new string[0];
            this._i = 0;
        }

        public string Line { get; set; }
        private string[] _s;
        private int _i;
        private char[] _sep = { ' ' };

        public void GetLine()
        {
            this._i = 0;
            do
            {
                this.Line = Console.ReadLine();
            } while (this.Line == "");

            if (this.Line != null)
                this._s = this.Line.Split(this._sep, StringSplitOptions.RemoveEmptyEntries);
        }

        public string GetNext()
        {
            if (this._i < this._s.Length)
                return this._s[this._i++];

            this.GetLine();

            return this._s[this._i++];
        }

        public int GetNextToInt()
        {
            return int.Parse(this.GetNext());
        }

        public long GetNextToLong()
        {
            return long.Parse(this.GetNext());
        }

        public double GetNextToDouble()
        {
            return double.Parse(this.GetNext());
        }
    }
}

Measured memory_bytes: 5760