all_lines = readlines.map{ |line| line.split(' ') }
lines = []
start_number = 0

while all_lines[start_number][0].to_i > 0
  n = start_number + all_lines[start_number][0].to_i
  end_number = 1 + n + all_lines[1 + n][0].to_i
  lines.push(all_lines[start_number..end_number])
  start_number = 1 + end_number
end

x = lines.count
x.times do |n|
  ary = lines[n]
  t = ary[0][0].to_i
  gem_coordinates = [] #
  depth = 10 #縦
  width = 10 #横

  t.times do |i|
    gem_coordinates.push(ary[i+1].map(&:to_i))
  end
  number_of_order = ary[t+1][0].to_i

  number_of_order.times do |i|
    order = ary[t+2+i]
    number = ary[t+2+i][1].to_i
    case
    when order.include?("N")
      number.times do
        depth += 1
        gem_coordinates.reject! { |item| item[0] == width && item[1] == depth }
      end
    when order.include?("S")
      number.times do
        depth -= 1
        gem_coordinates.reject! { |item| item[0] == width && item[1] == depth }
      end
    when order.include?("E")
      number.times do
        width += 1
        gem_coordinates.reject! { |item| item[0] == width && item[1] == depth }
      end
    when order.include?("W")
      number.times do
        width -= 1
        gem_coordinates.reject! { |item| item[0] == width && item[1] == depth }
      end
    end
  end

  puts gem_coordinates.empty? ? "Yes" : "No"
end

