include Math

loop {
    n, hx, hy, dx, dy = gets.split.map &:to_i
    break if n == 0

    points = [[hx, hy]] + (1..n).map { gets.split.map &:to_i }

    dist = (0..n).map{|i|
        (0..n).map{|j|
            x1, y1 = points[i]
            x2, y2 = points[j]
            hypot(x1 - x2, y1 - y2)
        }
    }

    deadline = points.map{|x, y| hypot(x - dx, y - dy)}
    
    stack = [[0, 0] + (1..n).to_a]
    success = false 
    until stack.empty?
        t, i, *unreached = stack.pop
        if unreached == [] 
            success = true 
            break
        end 
        next if unreached.any?{|j| t + dist[i][j] >= deadline[j]}
        unreached.each{|j|
            stack << [t + dist[i][j], j, *(unreached - [j])]
        }   
    end
    puts success ? 'YES' : 'NO'
}