from math import sqrt,fabs

class Ufo:
    def __init__(self,x,y,r,v):
        self.x = x*1.0
        self.y = y*1.0
        self.r = r*1.0
        self.v = v*1.0
        self.d = sqrt(x**2+y**2)
        self.cs = self.x / self.d
        self.si = self.y / self.d
        self.vx = -self.v*self.cs
        self.vy = -self.v*self.si

    def __str__(self):
        return "ufo x = " + str(self.x) + ", y = " + str(self.y) + ", r = " + str(self.r) + ", v = " + str(self.v)

    def oneMinMove(self):
        self.x += self.vx
        self.y += self.vy
        self.d -= self.v

    def isInvaded(self):
        return (self.d<= game.R)


class Laser:
    def __init__(self,cs,si):
        self.cs = cs
        self.si = si

    def hit(self,ufo):
        temp1 = ufo.r**2 - (self.si*ufo.x - self.cs*ufo.y)**2
        if temp1 >= 0:
            temp2 = self.cs*ufo.x + self.si*ufo.y
            d1 = temp2 + sqrt(temp1)
            d2 = temp2 - sqrt(temp1)
            if d1>=0 or d2>=0: return True
            else: return False
        else: return False


class Game:
    ufos = []
    laser = Laser(0,0)
    gameend = False
    inrl = 0
    def __init__(self,R):
        self.R = R

    def gameOneMinMove(self):
        curInrs = []
        for ufo in self.ufos:
            ufo.oneMinMove()
            if ufo.isInvaded(): curInrs.append(ufo)
        self.inrl += len(curInrs)
        #print str(len(curInrs)) + " ufos invaded!"
        for ufo in curInrs:
            self.ufos.remove(ufo)
            #print ufo
        del curInrs
        if self.ufos == []:
            self.gameend = True

    def setLaser(self):
        nearestUfo = self.ufos[0]
        for ufo in self.ufos:
            if nearestUfo.d > ufo.d :
                nearestUfo = ufo
        self.laser = Laser(nearestUfo.cs,nearestUfo.si)

    def fireLaser(self):
        curDeads = []
        for ufo in self.ufos:
            if self.laser.hit(ufo):
                curDeads.append(ufo)
        #print str(len(curDeads)) +" ufos burned!"
        for ufo in curDeads:
            self.ufos.remove(ufo)
            #print ufo
        del curDeads

    def oneLogic(self):
        self.gameOneMinMove()
        if self.gameend:
            pass
        else:
            self.setLaser()
            self.fireLaser()

    def allLogic(self):
        while not self.gameend:
            self.oneLogic()


while True:
    inp = map(int,raw_input().split())
    if len(inp) == 2:
        if inp == (0,0): break
        game = Game(inp[0])
        N = inp[1]
    else:
        game.ufos.append(Ufo(inp[0],inp[1],inp[2],inp[3]))
        if len(game.ufos) == N:
            game.allLogic()
            print game.inrl

### FIXED CODE ###

from math import sqrt

class Ufo:
	def __init__(self,px,py,d,vd,ui):
		self.pd=sqrt(px**2+py**2)
		self.px=float(px)
		self.py=float(py)
		self.ex=self.px/self.pd
		self.ey=self.py/self.pd
		self.d=float(d)
		self.vd=float(vd)
		self.vx=-self.vd*self.ex
		self.vy=-self.vd*self.ey
		self.i=ui
	def move(self):
		self.pd -= self.vd
		self.px += self.vx
		self.py += self.vy



while True:
	R,ul=tuple(map(int,raw_input().split()))
	if(R==0 and ul==0): break
	us=[]
	for ui in xrange(ul):
		px,py,d,vd = tuple(map(int,raw_input().split()))
		u = Ufo(px,py,d,vd,ui)
		us.append(u)

	re=0
	while True:
		for u in us: u.move()
		us.sort(key=lambda u: u.pd)

		for u in us[:]:
			if u.pd<=R:
				re+=1
				us.remove(u)
				#print u.i, "due to invade"
				continue
			else:
				break
		if len(us)==0: break

		neu=us.pop(0)
		#print "focus",neu.i
		#print neu.i,"due to hit"

		for u in us[:]:
			d = u.pd*abs(neu.ex*u.ey-neu.ey*u.ex)	#u kara laser ni orosita suisen no nagasa
			if d<u.d:
				if u.pd*(neu.ex*u.ex+neu.ey*u.ey)+sqrt(u.d**2-d**2) > R:
					us.remove(u)
					#print u.i, "due to hit"
		if len(us)==0: break

	print re