### subroutines

def dist2(p0, p1)
  (p1[0] - p0[0]) ** 2 + (p1[1] - p0[1]) ** 2
end

def o_prod(v0, v1)
  v0[0] * v1[1] - v0[1] * v1[0]
end

def deg_inside?(p0, p1, d0, d1)
  rad0 = d0 * Math::PI / 180
  rad1 = d1 * Math::PI / 180

  dv0 = [Math.cos(rad0), Math.sin(rad0)]
  dv1 = [Math.cos(rad1), Math.sin(rad1)]

  pv = [p1[0] - p0[0], p1[1] - p0[1]]

  o_prod(dv0, pv) >= 0 && o_prod(pv, dv1) >= 0
end

def reach?(src, h, w, d)
  dist2(src, h) <= ((w[1] + 0.01) ** 2) &&
    deg_inside?(src, h, w[0] - 0.5 * d, w[0] + 0.5 * d)
end

### main

while true
  hn, rn = gets.strip.split(' ').map{|s| s.to_i}
  break if hn == 0 && rn == 0

  houses = hn.times.map{gets.strip.split(' ').map{|s| s.to_f}}
  #p houses

  un, mn, sn, du, dm, ds = gets.strip.split(' ').map{|s| s.to_i}
  #p [u, m, s, du, dm, ds]

  ume = un.times.map{gets.strip.split(' ').map{|s| s.to_f}}
  momo = mn.times.map{gets.strip.split(' ').map{|s| s.to_f}}
  sakura = sn.times.map{gets.strip.split(' ').map{|s| s.to_f}}
  #p ['u', ume]
  #p ['m', momo]
  #p ['s', sakura]

  winds = rn.times.map{gets.strip.split(' ').map{|s| s.to_f}}
  #p winds

  max_days = 0
  max_houses = []

  for hi in (0...hn)
    h = houses[hi]
    days = 0

    for w in winds
      if reach?([0, 0], h, w, du)
        ok = true

        for u in ume
          if reach?(u, h, w, du)
            ok = false
            break
          end
        end
        break if ! ok

        for m in momo
          if reach?(m, h, w, dm)
            ok = false
            break
          end
        end
        break if ! ok

        for s in sakura
          if reach?(s, h, w, ds)
            ok = false
            break
          end
        end
        break if ! ok

        days += 1
      end
    end

    if max_days < days
      max_days = days
      max_houses = [(hi + 1)]
    elsif max_days == days
      max_houses << (hi + 1)
    end
  end

  if max_days == 0
    puts 'NA'
  else
    puts max_houses.join(' ')
  end
end