def dist(x, y)
    return Math.sqrt(x**2 + y**2)
end

#?????\???
def disc(x, y, slope, r)
    d = (2*x**2 + 2*y*slope)**2 - 4 * (1 + slope**2) * (x**2 + y**2 - r**2)
    return d < 0
end

#ufos?????????
#ufo = [0:x0, 1:y0, 2:??????r, 3:??????v, 4:??¬?????¶???????????§????????¢, 5:?????????x??????, 6:?????????y??????]

while true do
    zero_R, ufo_Num = gets.split.map(&:to_i)
    break if zero_R == 0 && ufo_Num == 0
    
    invader = 0
    ufos = []
    ufo_Num.times do 
        ufos << gets.split.map(&:to_i)
        ufos.last << dist(ufos.last[0],  ufos.last[1])
        ufos.last << ufos.last[3] * ufos.last[0] / ufos.last[4]
        ufos.last << ufos.last[3] * ufos.last[1] / ufos.last[4]
    end
        
    while !ufos.empty? do
        #?????????????????\??£???UFO?????°??????
        before = ufos.length
        ufos.delete_if {|ufo| ufo[4] <= zero_R}
        invader = before - ufos.length
        #??¨??¨?????????????????\??£?????´??????????????????
        break if ufos.empty?
        
        #????????????ufo??????????????????????¨????????????¬?????¶????????´????????????????±???????
        next_target = ufos.min_by {|ufo| ufo[4]}
        razer_slope = next_target[1] / next_target[0]
        
        #??¬?????¶??????????????????UFO????????????TODO????????´????????????????????????
        #?????\????????¨??????????????£????????????????±???????
        ufos.delete_if {|ufo| disc(ufo[0], ufo[1], razer_slope, ufo[2])}
        #??¨??¨???????????¨????????????????????????
        break if ufos.empty?
        
        #???????????????
        ufos.each do |ufo|
            ufo[0] -= ufo[5]
            ufo[1] -= ufo[6]
            ufo[4] -= ufo[3]
        end
    end
    
    puts invader
end