loop do
    n = gets.to_i
    break if n == 0
    c = n.times.map{gets.split.map(&:to_i) + [true]}
    m = gets.to_i
    move = m.times.map{gets.split}
    cur = [10,10]
    move.each do |dir, dis|
        case dir
        when "N"
            suc = [cur[0], cur[1] + dis.to_i]
        when "E"
            suc = [cur[0] + dis.to_i, cur[1]]
        when "S"
            suc = [cur[0], cur[1] - dis.to_i]
        when "W"
            suc = [cur[0] - dis.to_i, cur[1]]
        end
        c.each_with_index do |(x, y, b), i|
            if x.between?(cur[0], suc[0]) && y.between?(cur[1], suc[1])
                c[i][2] = false
            end
        end
        cur = suc
    end
    puts c.all?{|x,y,b| !b} ? "Yes" : "No"
end