local buildingsNum = io.read("*n")
local buildings = {}
local buildingNumberOrder = {}
for i = 1, buildingsNum do
local x, y, number, occupants = io.read("*n", "*n", "*n", "*n")
buildings[{x, y, number, occupants}] = 0
buildingNumberOrder[number] = i
end
local bombings = io.read("*n")
for i = 1, bombings do
local x, y, radius = io.read("*n", "*n", "*n")
local buildingsToEvacuate = {}
local atLeastOne = false
for building, _ in pairs(buildings) do
if (x - building[1])^2 + (y - building[2])^2 <= radius * radius then
table.insert(buildingsToEvacuate, building)
atLeastOne = true
end
end
local evacuated = 0
local indexesToEvacuate = {}
for _, building in ipairs(buildingsToEvacuate) do
evacuated = evacuated + building[4]
table.insert(indexesToEvacuate, building[3])
buildings[building] = nil
end
table.sort(indexesToEvacuate, function(a, b) return buildingNumberOrder[a] < buildingNumberOrder[b] end)
for _, index in ipairs(indexesToEvacuate) do
io.write(index, _ ~= #indexesToEvacuate and " " or "")
end
io.write(#indexesToEvacuate ~= 0 and "\n" or "")
if not atLeastOne then
io.write("NULL")
else
io.write(evacuated)
end
io.write("\n")
end
bG9jYWwgYnVpbGRpbmdzTnVtID0gaW8ucmVhZCgiKm4iKQpsb2NhbCBidWlsZGluZ3MgPSB7fQpsb2NhbCBidWlsZGluZ051bWJlck9yZGVyID0ge30KZm9yIGkgPSAxLCBidWlsZGluZ3NOdW0gZG8KCWxvY2FsIHgsIHksIG51bWJlciwgb2NjdXBhbnRzID0gaW8ucmVhZCgiKm4iLCAiKm4iLCAiKm4iLCAiKm4iKQoJYnVpbGRpbmdzW3t4LCB5LCBudW1iZXIsIG9jY3VwYW50c31dID0gMAoJYnVpbGRpbmdOdW1iZXJPcmRlcltudW1iZXJdID0gaQplbmQKCmxvY2FsIGJvbWJpbmdzID0gaW8ucmVhZCgiKm4iKQpmb3IgaSA9IDEsIGJvbWJpbmdzIGRvCglsb2NhbCB4LCB5LCByYWRpdXMgPSBpby5yZWFkKCIqbiIsICIqbiIsICIqbiIpCglsb2NhbCBidWlsZGluZ3NUb0V2YWN1YXRlID0ge30KCWxvY2FsIGF0TGVhc3RPbmUgPSBmYWxzZQoJZm9yIGJ1aWxkaW5nLCBfIGluIHBhaXJzKGJ1aWxkaW5ncykgZG8KCQlpZiAoeCAtIGJ1aWxkaW5nWzFdKV4yICsgKHkgLSBidWlsZGluZ1syXSleMiA8PSByYWRpdXMgKiByYWRpdXMgdGhlbgoJCQl0YWJsZS5pbnNlcnQoYnVpbGRpbmdzVG9FdmFjdWF0ZSwgYnVpbGRpbmcpCgkJCWF0TGVhc3RPbmUgPSB0cnVlCgkJZW5kCgllbmQKCWxvY2FsIGV2YWN1YXRlZCA9IDAKCWxvY2FsIGluZGV4ZXNUb0V2YWN1YXRlID0ge30KCWZvciBfLCBidWlsZGluZyBpbiBpcGFpcnMoYnVpbGRpbmdzVG9FdmFjdWF0ZSkgZG8KCQlldmFjdWF0ZWQgPSBldmFjdWF0ZWQgKyBidWlsZGluZ1s0XQoJCXRhYmxlLmluc2VydChpbmRleGVzVG9FdmFjdWF0ZSwgYnVpbGRpbmdbM10pCgkJYnVpbGRpbmdzW2J1aWxkaW5nXSA9IG5pbAoJZW5kCgkKCXRhYmxlLnNvcnQoaW5kZXhlc1RvRXZhY3VhdGUsIGZ1bmN0aW9uKGEsIGIpIHJldHVybiBidWlsZGluZ051bWJlck9yZGVyW2FdIDwgYnVpbGRpbmdOdW1iZXJPcmRlcltiXSBlbmQpCglmb3IgXywgaW5kZXggaW4gaXBhaXJzKGluZGV4ZXNUb0V2YWN1YXRlKSBkbwoJCWlvLndyaXRlKGluZGV4LCBfIH49ICNpbmRleGVzVG9FdmFjdWF0ZSBhbmQgIiAiIG9yICIiKQoJZW5kCglpby53cml0ZSgjaW5kZXhlc1RvRXZhY3VhdGUgfj0gMCBhbmQgIlxuIiBvciAiIikKCWlmIG5vdCBhdExlYXN0T25lIHRoZW4KCQlpby53cml0ZSgiTlVMTCIpCgllbHNlCgkJaW8ud3JpdGUoZXZhY3VhdGVkKQoJZW5kCglpby53cml0ZSgiXG4iKQplbmQ=