from sys import stdin
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 invaded(self):
		global R
		return (self.d<= R)

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

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

def hit(laser,ufo):
	temp1 = ufo.r**2 - (laser.si*ufo.x - laser.cs*ufo.y)**2
	if temp1 >= 0:
		temp2 = laser.cs*ufo.x + laser.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

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

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

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

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

def allLogic():
	global gameend
	while not gameend:
		oneLogic()


for inp in stdin:
#for inp in open("input.txt"):
	inp = map(int,inp.split())
	if len(inp) == 2:
		if inp == (0,0): break
		(R,N) = tuple(inp)
		ufos = []
		laser = Laser(0,0)
		inrl = 0
		gameend = False
	else:
		ufos.append(Ufo(inp[0],inp[1],inp[2],inp[3]))
		if len(ufos) == N:
			allLogic()
			print 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