n,q = gets.split.map(&:to_i)

obs = []
n.times{ obs << gets.split.map(&:to_f) }

sds = []
q.times{ sds << gets.split.map(&:to_f) }

sds.each do |sd|
  s,d = [sd[0,3], sd[3,3]]
  puts obs.select{ |ob|
    vsd = d.zip(s).map{|d,s| d-s}
    vob = ob[0,3].zip(s).map{|x,y| x-y}
    co = vob.zip(vsd).map{|x,y|x*y}.inject(&:+)/vsd.map{|x|x*x}.inject(&:+)
    next false unless 0.0 <= co && co <= 1.0
    proj = vsd.map{|x| x*co}
    dis = vob.zip(proj).map{|x,y| x-y}.map{|x| x**2}.inject(&:+)
    ob[3]**2 + 0.0001 >= dis
  }.map{|x,y,z,r,l| l}.inject(0,&:+).to_i
end