### constant

MAX_X = MAX_Y = 20
DXYS = { 'N' => [0, 1], 'E' => [1, 0], 'S' => [0, -1], 'W' => [-1, 0] }

### main

loop do
  n = gets.to_i
  break if n == 0

  gems = Array.new(MAX_Y + 1){Array.new(MAX_X + 1){false}}

  n.times do
    x, y = gets.split.map(&:to_i)
    gems[y][x] = true
  end

  count = 0
  x = y = 10
  if gems[y][x]
    count += 1
    gems[y][x] = false
  end

  m = gets.to_i
  
  m.times do
    dr, dist = gets.strip.split
    dist = dist.to_i
    dx, dy = DXYS[dr]
    for i in (1..dist)
      x += dx
      y += dy
      if gems[y][x]
        count += 1
        gems[y][x] = false
      end
    end
  end

  puts (count == n) ? "Yes" : "No"
end