class Position
	attr_accessor :x, :y
	
	def initialize(x, y)
		@x = x
		@y = y
	end
	
	def +(move)
		@x += move.x
		@y += move.y
	end
end

DIRECTIONS = {
	'N' => Position.new(0, 1),
	'E' => Position.new(1, 0),
	'S' => Position.new(0, -1),
	'W' => Position.new(-1, 0),
}

while (gems_number = gets.to_i) != 0
	current_position = Position.new(10, 10)
	gems = []
	
	gems_number.times do
		x, y = gets.split.map(&:to_i)
		gems << Position.new(x, y)
	end
	
	order_number = gets.to_i
	
	order_number.times do
		direction, amount = gets.split
		
		amount.to_i.times do
			current_position + DIRECTIONS[direction]
			gems.reject! { |gem| gem.x == current_position.x && gem.y == current_position.y }
		end
	end
	
	if gems.empty?
		puts "Yes"
	else
		puts "No"
	end
end
